Package cdc.enums

Interface DagType<V>

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

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

    • getRoots

      List<V> getRoots()
      Returns:
      A list of root values.
    • getChildren

      List<V> getChildren(V value)
      Returns the children of a value.
      Parameters:
      value - The value.
      Returns:
      The children of value
    • getParents

      List<V> getParents(V value)
      Returns the parents of a value.
      Parameters:
      value - The value.
      Returns:
      The parents of value
    • isRoot

      default boolean isRoot(V value)
      Returns true if a value is a root: it has no parents.
      Parameters:
      value - The value.
      Returns:
      true if value is a root.
    • isStrictlyOver

      boolean isStrictlyOver(V left, V right)
      Returns true when one value is a strict superset of another value.
      Parameters:
      left - The left value (potential superset).
      right - The right value.
      Returns:
      true when left is a superset of right.
    • isOverOrEqual

      default boolean isOverOrEqual(V left, V right)
      Returns true when one value is a superset of, or equal to, another value.
      Parameters:
      left - The left value (potential superset).
      right - The right value.
      Returns:
      true when left is a superset of, or equal to, right.
    • isStrictlyUnder

      default boolean isStrictlyUnder(V left, V right)
      Returns true when one value is a strict subset of another value.
      Parameters:
      left - The left value (potential subset).
      right - The right value.
      Returns:
      true when left is a subset of right.
    • isUnderOrEqual

      default boolean isUnderOrEqual(V left, V right)
      Returns true when one value is a subset of, or equal to, another value.
      Parameters:
      left - The left value (potential superset).
      right - The right value.
      Returns:
      true when left is a subset of, or equal to, right.