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
Fields Modifier and Type Field Description static Predicate<String>DEFAULT_NAME_VALIDATORprotected Predicate<String>nameValidator-
Fields inherited from class cdc.enums.AbstractBaseListSupport
logger
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractDynamicEnumSupport(Class<V> cls, Predicate<String> nameValidator, DagFeature... features)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcheckHasNoSiblingNamed(V value, String name)protected voidcheckIsUnlocked()protected voidcheckNameIsValid(String name)booleanisLocked()Returnstruewhen modifications are disabled.voidlock()Definitely locks modifications.-
Methods inherited from class cdc.enums.AbstractBaseDagSupport
checkIsNotOverOrEqual, iterateOver, iterateUnder
-
Methods inherited from class cdc.enums.AbstractBaseListSupport
addEventHandler, checkIsSupported, checkIsValid, fire, getValueClass, isContained, isSupported, removeEventHandler
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface cdc.enums.DagType
getChildren, getParents, getRoots, isOverOrEqual, isRoot, isStrictlyOver, isStrictlyUnder, isUnderOrEqual
-
Methods inherited from interface cdc.enums.DynamicEnumSupport
findOrCreate, remove, setName
-
Methods inherited from interface cdc.enums.EnumType
getChildNamed, getName, getQName, hasChildNamed, hasSiblingNamed, hasValue, valueOf, valueOf
-
Methods inherited from interface cdc.enums.ListType
addEventHandler, areEqual, getValueClass, getValues, isSupported, isUsable, isValid, removeEventHandler, size
-
-
-
-
Constructor Detail
-
AbstractDynamicEnumSupport
protected AbstractDynamicEnumSupport(Class<V> cls, Predicate<String> nameValidator, DagFeature... features)
-
-
Method Detail
-
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
protected final void checkNameIsValid(String name)
-
checkIsUnlocked
protected final void checkIsUnlocked()
-
-