Package cdc.enums

Class AbstractForestDynamicEnum<V extends AbstractForestDynamicEnum<V>>

  • Type Parameters:
    V - The dynamic enum concrete type.
    All Implemented Interfaces:
    DynamicEnum, ForestDynamicEnum<V>, Comparable<V>

    public abstract class AbstractForestDynamicEnum<V extends AbstractForestDynamicEnum<V>>
    extends Object
    implements ForestDynamicEnum<V>, Comparable<V>
    Dynamic enumeration of values organized as a forest (several trees).

    Each value has a unique qualified name.
    This implementation supports these features:

    A typical implementation should look like this:

    
     public final class Foo extends AbstractForestDynamicEnum<Foo> {
         public static final Support<Foo> SUPPORT = support(Foo.class, Foo::new, Feature.RENAMING, ...);
    
         protected Foo(Foo parent,
                       String value) {
             super(parent, value);
         }
     }
     
    Author:
    Damien Carbonne