public interface Path extends Cloneable, Iterable<Object>
Graph as defined by a Traversal.
 In abstraction, any Path implementation maintains two lists: a list of sets of labels and a list of objects.
 The list of labels are the labels of the steps traversed. The list of objects are the objects traversed.| Modifier and Type | Interface and Description | 
|---|---|
| static class  | Path.Exceptions | 
| Modifier and Type | Method and Description | 
|---|---|
| Path | clone() | 
| Path | extend(Object object,
      Set<String> labels)Add a new step to the path with an object and any number of associated labels. | 
| Path | extend(Set<String> labels)Add labels to the head of the path. | 
| default void | forEach(BiConsumer<Object,Set<String>> consumer) | 
| default <A> A | get(int index)Get the object associated with the specified index into the path. | 
| default <A> A | get(Pop pop,
   String label)Pop the object(s) associated with the label of the path. | 
| default <A> A | get(String label)Get the object associated with the particular label of the path. | 
| default boolean | hasLabel(String label)Return true if the path has the specified label, else return false. | 
| default <A> A | head()Get the head of the path. | 
| default boolean | isEmpty()Determine if the path is empty or not. | 
| default boolean | isSimple()Determines whether the path is a simple or not. | 
| default Iterator<Object> | iterator() | 
| List<Set<String>> | labels()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  extend(Object, Set)was called. | 
| List<Object> | objects()An ordered list of the objects in the path. | 
| default boolean | popEquals(Pop pop,
         Object other) | 
| Path | retract(Set<String> labels)Remove labels from path. | 
| default int | size()Get the number of step in the path. | 
| default Stream<org.javatuples.Pair<Object,Set<String>>> | stream() | 
| default Path | subPath(String fromLabel,
       String toLabel)Isolate a sub-path from the path object. | 
forEach, spliteratordefault int size()
default boolean isEmpty()
default <A> A head()
A - the type of the head of the pathPath extend(Object object, Set<String> labels)
object - the new head of the pathlabels - the labels at the head of the pathPath extend(Set<String> labels)
labels - the labels at the head of the pathPath retract(Set<String> labels)
labels - the labels to removedefault <A> A get(String label) throws IllegalArgumentException
List of those objects.A - the type of the object associated with the labellabel - the label of the pathIllegalArgumentException - if the path does not contain the labeldefault <A> A get(Pop pop, String label) throws IllegalArgumentException
A - the type of the object associated with the labelpop - first for least recent, last for most recent, and all for all in a listlabel - the label of the pathIllegalArgumentException - if the path does not contain the labeldefault <A> A get(int index)
A - the type of the object associated with the indexindex - the index of the pathdefault boolean hasLabel(String label)
label - the label to search forList<Object> objects()
List<Set<String>> labels()
extend(Object, Set) was called.Path clone()
default boolean isSimple()
default void forEach(BiConsumer<Object,Set<String>> consumer)
default Path subPath(String fromLabel, String toLabel)
a,[b,c],d.
 Note that if there are multiple path segments with the same label, then its the last occurrence that is isolated.
 For instance, from "b" to "c" would be a,b,[b,c,d,c].fromLabel - The label to start recording the sub-path from.toLabel - The label to end recording the sub-path to.Copyright © 2013–2020 Apache Software Foundation. All rights reserved.