public class AdjacencyList
extends java.lang.Object
List of
Lists, where each sub-List contains objects of
type Vertex. A Vertex describes one possible or
actual step in the chain building process, and the associated
Certificate. Specifically, a Vertex object
contains a Certificate and an index value referencing the
next sub-list in the process. If the index value is -1 then this
Vertex doesn't continue the attempted build path.
Example:
Attempted Paths:
AdjacencyList structure:
The iterator method returns objects of type BuildStep, not
objects of type Vertex.
A BuildStep contains a Vertex and a result code,
accessible via getResult method. There are five result values.
POSSIBLE denotes that the current step represents a
Certificate that the builder is considering at this point in
the build. FOLLOW denotes a Certificate (one of
those noted as POSSIBLE) that the builder is using to try
extending the chain. BACK represents that a
FOLLOW was incorrect, and is being removed from the chain.
There is exactly one FOLLOW for each BACK. The
values SUCCEED and FAIL mean that we've come to
the end of the build process, and there will not be any more entries in
the list.
| Constructor and Description |
|---|
AdjacencyList(java.util.List<java.util.List<Vertex>> list)
Constructs a new
AdjacencyList based on the specified
List. |
| Modifier and Type | Method and Description |
|---|---|
java.util.Iterator<BuildStep> |
iterator()
Gets an
Iterator to iterate over the set of
BuildSteps in build-order. |
java.lang.String |
toString()
Prints out a string representation of this AdjacencyList.
|
public AdjacencyList(java.util.List<java.util.List<Vertex>> list)
AdjacencyList based on the specified
List. See the example above.list - a List of Lists of
Vertex objectspublic java.util.Iterator<BuildStep> iterator()
Iterator to iterate over the set of
BuildSteps in build-order. Any attempts to change
the list through the remove method will fail.Iterator over the BuildStepspublic java.lang.String toString()
toString in class java.lang.Object