java.lang.Object
org.apache.tinkerpop.gremlin.process.traversal.step.util.ImmutablePath
All Implemented Interfaces:
Serializable, Cloneable, Iterable<Object>, Path

public class ImmutablePath extends Object implements Path, Serializable, Cloneable
Author:
Marko A. Rodriguez (http://markorodriguez.com)
See Also:
  • Method Details

    • make

      public static Path make()
    • clone

      public ImmutablePath clone()
      Specified by:
      clone in interface Path
      Overrides:
      clone in class Object
    • isEmpty

      public boolean isEmpty()
      Description copied from interface: Path
      Determine if the path is empty or not.
      Specified by:
      isEmpty in interface Path
      Returns:
      whether the path is empty or not.
    • size

      public int size()
      Description copied from interface: Path
      Get the number of step in the path.
      Specified by:
      size in interface Path
      Returns:
      the size of the path
    • head

      public <A> A head()
      Description copied from interface: Path
      Get the head of the path.
      Specified by:
      head in interface Path
      Type Parameters:
      A - the type of the head of the path
      Returns:
      the head of the path
    • extend

      public Path extend(Object object, Set<String> labels)
      Description copied from interface: Path
      Add a new step to the path with an object and any number of associated labels.
      Specified by:
      extend in interface Path
      Parameters:
      object - the new head of the path
      labels - the labels at the head of the path
      Returns:
      the extended path
    • extend

      public Path extend(Set<String> labels)
      Description copied from interface: Path
      Add labels to the head of the path.
      Specified by:
      extend in interface Path
      Parameters:
      labels - the labels at the head of the path
      Returns:
      the path with added labels
    • retract

      public Path retract(Set<String> labels)
      Description copied from interface: Path
      Remove labels from path.
      Specified by:
      retract in interface Path
      Parameters:
      labels - the labels to remove
      Returns:
      the path with removed labels
    • get

      public <A> A get(int index)
      Description copied from interface: Path
      Get the object associated with the specified index into the path.
      Specified by:
      get in interface Path
      Type Parameters:
      A - the type of the object associated with the index
      Parameters:
      index - the index of the path
      Returns:
      the object associated with the index of the path
    • get

      public <A> A get(Pop pop, String label)
      Description copied from interface: Path
      Pop the object(s) associated with the label of the path.
      Specified by:
      get in interface Path
      Type Parameters:
      A - the type of the object associated with the label
      Parameters:
      pop - first for least recent, last for most recent, and all for all in a list
      label - the label of the path
      Returns:
      the object associated with the label of the path
    • hasLabel

      public boolean hasLabel(String label)
      Description copied from interface: Path
      Return true if the path has the specified label, else return false.
      Specified by:
      hasLabel in interface Path
      Parameters:
      label - the label to search for
      Returns:
      true if the label exists in the path
    • objects

      public List<Object> objects()
      Description copied from interface: Path
      An ordered list of the objects in the path.
      Specified by:
      objects in interface Path
      Returns:
      the objects of the path
    • labels

      public List<Set<String>> labels()
      Description copied from interface: Path
      An ordered list of the labels associated with the path The set of labels for a particular step are ordered by the order in which Path.extend(Object, Set) was called.
      Specified by:
      labels in interface Path
      Returns:
      the labels of the path
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object
    • popEquals

      public boolean popEquals(Pop pop, Object other)
      Specified by:
      popEquals in interface Path
    • isSimple

      public boolean isSimple()
      Description copied from interface: Path
      Determines whether the path is a simple or not. A simple path has no cycles and thus, no repeated objects.
      Specified by:
      isSimple in interface Path
      Returns:
      Whether the path is simple or not