<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    On 21/09/2010 13:44, Wolfgang Laun wrote:
    <blockquote
      cite="mid:AANLkTikUPtfR_kJn5WK=WS3nCHB7AfE51wDzp_xTm+gg@mail.gmail.com"
      type="cite">I find that the implementation shown below is more
      Java-ish. It would have some<br>
      advantages when branching based on a ResourceType value, etc. No
      errors show<br>
      up when I use this in Eclipse.<br>
    </blockquote>
    The reason is that enums cannot be extended, so it would make it
    impossible for sub modules to add new types without changing core.<br>
    <br>
    Mark<br>
    <blockquote
      cite="mid:AANLkTikUPtfR_kJn5WK=WS3nCHB7AfE51wDzp_xTm+gg@mail.gmail.com"
      type="cite"><br>
      YMMV.<br>
      -W<br>
      <br>
      public enum ResourceType {<br>
      <br>
      &nbsp;&nbsp;&nbsp; DRL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ( "Drools Rule Language",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "drl"&nbsp; ),<br>
      &nbsp;&nbsp;&nbsp; XDRL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ( "Drools XML Rule Language",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "xdrl" ),<br>
      &nbsp;&nbsp;&nbsp; DSL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ( "Drools DSL",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "dsl"&nbsp; ),<br>
      &nbsp;&nbsp;&nbsp; DSLR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ( "Drools DSL Rule",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "dslr" ),<br>
      &nbsp;&nbsp;&nbsp; DRF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ( "Drools Rule Flow Language",&nbsp;&nbsp;&nbsp;&nbsp; "rf"&nbsp;&nbsp; ),<br>
      &nbsp;&nbsp;&nbsp; BPMN2&nbsp;&nbsp;&nbsp;&nbsp; ( "Drools BPMN2 Language",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "bpmn" ),<br>
      &nbsp;&nbsp;&nbsp; DTABLE&nbsp;&nbsp;&nbsp; ( "Decision Table",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "xls"&nbsp; ),<br>
      &nbsp;&nbsp;&nbsp; PKG&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ( "Binary Package",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "pkg"&nbsp; ),<br>
      &nbsp;&nbsp;&nbsp; BRL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ( "Drools Business Rule Language", "brl"&nbsp; ),<br>
      &nbsp;&nbsp;&nbsp; CHANGE_SET( "Change Set",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "xcs"&nbsp; ),<br>
      &nbsp;&nbsp;&nbsp; XSD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ( "XSD",&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "xsd"&nbsp; );&nbsp;&nbsp;&nbsp; <br>
      <br>
      &nbsp;&nbsp;&nbsp; private String&nbsp; description;<br>
      &nbsp;&nbsp;&nbsp; private String&nbsp; defaultExtension;<br>
      <br>
      &nbsp;&nbsp;&nbsp; ResourceType( String description, String defaultExtension ) {<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.description = description;<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.defaultExtension = defaultExtension;<br>
      &nbsp;&nbsp;&nbsp; }<br>
      <br>
      &nbsp;&nbsp;&nbsp; public static ResourceType getResourceType(final String
      resourceName) {<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return valueOf( resourceName );<br>
      &nbsp;&nbsp;&nbsp; }<br>
      <br>
      &nbsp;&nbsp;&nbsp; public static ResourceType determineResourceType( final String
      resourceName ) {<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try{ <br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return valueOf( resourceName );<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch( Exception iae ){<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return null;<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
      &nbsp;&nbsp;&nbsp; }<br>
      <br>
      &nbsp;&nbsp;&nbsp; public boolean matchesExtension( String resourceName ) {<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return resourceName != null &amp;&amp;
      resourceName.endsWith( "."+defaultExtension );<br>
      &nbsp;&nbsp;&nbsp; }<br>
      <br>
      &nbsp;&nbsp;&nbsp; public String getDefaultExtension() {<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return defaultExtension;<br>
      &nbsp;&nbsp;&nbsp; }<br>
      <br>
      &nbsp;&nbsp;&nbsp; public String getDescription() {<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return description;<br>
      &nbsp;&nbsp;&nbsp; }<br>
      <br>
      &nbsp;&nbsp;&nbsp; public String getName() {<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return <a moz-do-not-send="true" href="http://this.name">this.name</a>();<br>
      &nbsp;&nbsp;&nbsp; }<br>
      <br>
      &nbsp;&nbsp;&nbsp; @Override<br>
      &nbsp;&nbsp;&nbsp; public String toString() {<br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return "ResourceType = '" + this.description + "'";<br>
      &nbsp;&nbsp;&nbsp; }<br>
      }<br>
      <br>
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
rules-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:rules-dev@lists.jboss.org">rules-dev@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/rules-dev">https://lists.jboss.org/mailman/listinfo/rules-dev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>