Interface DataObjectStep<T extends DataObject>

Type Parameters:
T - DataObject type
All Superinterfaces:
Comparable<DataObjectStep<?>>, Serializable
All Known Subinterfaces:
ExactDataObjectStep<T>, InexactDataObjectStep<T>
All Known Implementing Classes:
KeylessStep, KeyStep, NodeStep

public sealed interface DataObjectStep<T extends DataObject> extends Comparable<DataObjectStep<?>>, Serializable permits ExactDataObjectStep<T>, InexactDataObjectStep<T>
A reference to a DataObject type forming a single step in a path similar to instance-identifier.
  • Method Details

    • of

      static <T extends DataObject> @NonNull DataObjectStep<T> of(@NonNull Class<T> type)
    • of

      static <T extends DataObject, C extends ChoiceIn<?> & DataObject> @NonNull DataObjectStep<T> of(@Nullable Class<C> caze, @NonNull Class<T> type)
    • type

      @NonNull Class<T> type()
      Return the data object type backing this PathArgument.
      Returns:
      Data object type
    • caseType

      @Nullable Class<? extends DataObject> caseType()
      Return an optional enclosing case type. This is used only when type() references a node defined in a grouping which is reference inside a case statement in order to safely reference the node.
      Returns:
      case class, or null
    • compareTo

      default int compareTo(DataObjectStep<?> other)
      Specified by:
      compareTo in interface Comparable<T extends DataObject>