Package cdc.enums
Class AbstractDynamicEnumSupport<V>
java.lang.Object
cdc.enums.AbstractBaseListSupport<V>
cdc.enums.AbstractBaseDagSupport<V>
cdc.enums.AbstractDynamicEnumSupport<V>
- Type Parameters:
V- The dynamic enum type.
- All Implemented Interfaces:
DagType<V>,DynamicEnumSupport<V>,EnumType<V>,ListType<V>
public abstract class AbstractDynamicEnumSupport<V>
extends AbstractBaseDagSupport<V>
implements DynamicEnumSupport<V>
Base class for dynamic enum support.
- Author:
- Damien Carbonne
-
Field Summary
FieldsModifier and TypeFieldDescriptionFields inherited from class cdc.enums.AbstractBaseListSupport
logger -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractDynamicEnumSupport(Class<V> cls, Predicate<String> nameValidator, DagFeature... features) -
Method Summary
Modifier and TypeMethodDescriptionprotected final voidcheckHasNoSiblingNamed(V value, String name) protected final voidprotected final voidcheckNameIsValid(String name) final booleanisLocked()Returnstruewhen modifications are disabled.voidlock()Definitely locks modifications.Methods inherited from class cdc.enums.AbstractBaseDagSupport
checkIsNotOverOrEqual, iterateOver, iterateUnderMethods inherited from class cdc.enums.AbstractBaseListSupport
addEventHandler, checkIsSupported, checkIsValid, fire, getValueClass, isContained, isSupported, removeEventHandlerMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface cdc.enums.DagType
getChildren, getParents, getRoots, isOverOrEqual, isRoot, isStrictlyOver, isStrictlyUnder, isUnderOrEqualMethods inherited from interface cdc.enums.DynamicEnumSupport
findOrCreate, remove, setNameMethods inherited from interface cdc.enums.EnumType
getChildNamed, getName, getQName, hasChildNamed, hasSiblingNamed, hasValue, valueOf, valueOfMethods inherited from interface cdc.enums.ListType
addEventHandler, areEqual, getValueClass, getValues, isSupported, isUsable, isValid, removeEventHandler, size
-
Field Details
-
nameValidator
-
DEFAULT_NAME_VALIDATOR
-
-
Constructor Details
-
AbstractDynamicEnumSupport
protected AbstractDynamicEnumSupport(Class<V> cls, Predicate<String> nameValidator, DagFeature... features)
-
-
Method Details
-
isLocked
public final boolean isLocked()Description copied from interface:ListTypeReturnstruewhen modifications are disabled.A static implementation is always locked.
After locking a dynamic implementation, it is impossible to unlock it. -
lock
public void lock()Description copied from interface:DynamicEnumSupportDefinitely locks modifications.- Specified by:
lockin interfaceDynamicEnumSupport<V>
-
checkNameIsValid
-
checkIsUnlocked
protected final void checkIsUnlocked() -
checkHasNoSiblingNamed
-