Package cdc.enums

Interface ListType<V>

Type Parameters:
V - The value type.
All Known Subinterfaces:
AbstractForestDynamicEnum.Support<V>, AbstractListDynamicEnum.Support<V>, DagType<V>, DynamicEnumSupport<V>, EnumType<V>
All Known Implementing Classes:
AbstractBaseDagSupport, AbstractBaseListSupport, AbstractDynamicEnumSupport, BooleanEnumType

public interface ListType<V>
Interface describing a List type.
Author:
Damien Carbonne
  • Method Details

    • addEventHandler

      void addEventHandler(DagEventHandler handler)
      Adds an event handler.
      Parameters:
      handler - The event handler.
    • removeEventHandler

      void removeEventHandler(DagEventHandler handler)
      Removes an event handler.
      Parameters:
      handler - The event handler.
    • isSupported

      boolean isSupported(DagFeature feature)
      Returns true when a feature is supported.

      Locking may make a feature not available even if it is supported.

      Parameters:
      feature - The feature.
      Returns:
      true when feature is supported.
    • isUsable

      default boolean isUsable(DagFeature feature)
      Returns true when a feature can be used.

      It must be supported and the type must not be locked.

      Parameters:
      feature - the feature.
      Returns:
      true when feature can be used.
    • isLocked

      boolean isLocked()
      Returns true when modifications are disabled.

      A static implementation is always locked.
      After locking a dynamic implementation, it is impossible to unlock it.

      Returns:
      true when modifications (creation, removal, ...) are disabled.
    • getValueClass

      Class<V> getValueClass()
      Returns:
      The enum value class.
    • getValues

      List<V> getValues()
      Returns:
      A list of values.
    • size

      default int size()
      Returns:
      The number of values.
    • isValid

      boolean isValid(V value)
      Returns true when a value is valid.

      Depending on the enum implementation, a value may be valid at a time and invalid at another time.
      Standard enums values are always valid.
      A null value is invalid.

      Parameters:
      value - The value.
      Returns:
      true if value is valid.
    • areEqual

      boolean areEqual(V left, V right)
      Returns true if 2 values are equal.
      Parameters:
      left - The left value.
      right - The right value.
      Returns:
      true if left and right are equal.