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><br>YMMV.<br>-W<br><br>public enum ResourceType {<br>
<br> DRL ( "Drools Rule Language", "drl" ),<br> XDRL ( "Drools XML Rule Language", "xdrl" ),<br> DSL ( "Drools DSL", "dsl" ),<br>
DSLR ( "Drools DSL Rule", "dslr" ),<br> DRF ( "Drools Rule Flow Language", "rf" ),<br> BPMN2 ( "Drools BPMN2 Language", "bpmn" ),<br>
DTABLE ( "Decision Table", "xls" ),<br> PKG ( "Binary Package", "pkg" ),<br> BRL ( "Drools Business Rule Language", "brl" ),<br>
CHANGE_SET( "Change Set", "xcs" ),<br> XSD ( "XSD", "xsd" ); <br><br> private String description;<br> private String defaultExtension;<br>
<br> ResourceType( String description, String defaultExtension ) {<br> this.description = description;<br> this.defaultExtension = defaultExtension;<br> }<br><br> public static ResourceType getResourceType(final String resourceName) {<br>
return valueOf( resourceName );<br> }<br><br> public static ResourceType determineResourceType( final String resourceName ) {<br> try{ <br> return valueOf( resourceName );<br> } catch( Exception iae ){<br>
return null;<br> }<br> }<br><br> public boolean matchesExtension( String resourceName ) {<br> return resourceName != null && resourceName.endsWith( "."+defaultExtension );<br>
}<br><br> public String getDefaultExtension() {<br> return defaultExtension;<br> }<br><br> public String getDescription() {<br> return description;<br> }<br><br> public String getName() {<br>
return <a href="http://this.name">this.name</a>();<br> }<br><br> @Override<br> public String toString() {<br> return "ResourceType = '" + this.description + "'";<br> }<br>
}<br><br>