[rules-dev] ResourceType - why is it not an enum?
Mark Proctor
mproctor at codehaus.org
Tue Sep 21 09:11:43 EDT 2010
On 21/09/2010 13:44, Wolfgang Laun wrote:
> I find that the implementation shown below is more Java-ish. It would
> have some
> advantages when branching based on a ResourceType value, etc. No
> errors show
> up when I use this in Eclipse.
The reason is that enums cannot be extended, so it would make it
impossible for sub modules to add new types without changing core.
Mark
>
> YMMV.
> -W
>
> public enum ResourceType {
>
> DRL ( "Drools Rule Language", "drl" ),
> XDRL ( "Drools XML Rule Language", "xdrl" ),
> DSL ( "Drools DSL", "dsl" ),
> DSLR ( "Drools DSL Rule", "dslr" ),
> DRF ( "Drools Rule Flow Language", "rf" ),
> BPMN2 ( "Drools BPMN2 Language", "bpmn" ),
> DTABLE ( "Decision Table", "xls" ),
> PKG ( "Binary Package", "pkg" ),
> BRL ( "Drools Business Rule Language", "brl" ),
> CHANGE_SET( "Change Set", "xcs" ),
> XSD ( "XSD", "xsd" );
>
> private String description;
> private String defaultExtension;
>
> ResourceType( String description, String defaultExtension ) {
> this.description = description;
> this.defaultExtension = defaultExtension;
> }
>
> public static ResourceType getResourceType(final String
> resourceName) {
> return valueOf( resourceName );
> }
>
> public static ResourceType determineResourceType( final String
> resourceName ) {
> try{
> return valueOf( resourceName );
> } catch( Exception iae ){
> return null;
> }
> }
>
> public boolean matchesExtension( String resourceName ) {
> return resourceName != null && resourceName.endsWith(
> "."+defaultExtension );
> }
>
> public String getDefaultExtension() {
> return defaultExtension;
> }
>
> public String getDescription() {
> return description;
> }
>
> public String getName() {
> return this.name <http://this.name>();
> }
>
> @Override
> public String toString() {
> return "ResourceType = '" + this.description + "'";
> }
> }
>
>
> _______________________________________________
> rules-dev mailing list
> rules-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-dev/attachments/20100921/7b648d72/attachment.html
More information about the rules-dev
mailing list