| 
 | |||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Object | +--net.walend.digraph.path.AbstractDelegateDigraphOfCEPaths.DigraphCEPath
| Nested Class Summary | |
| protected  class | AbstractDelegateDigraphOfCEPaths.DigraphCEPath.PathEdgeIterator | 
| private  class | AbstractDelegateDigraphOfCEPaths.DigraphCEPath.PathNodeIterator | 
| Field Summary | |
| private  AbstractDelegateDigraphOfCEPaths | container | 
| private  AbstractDelegateDigraphOfCEPaths.Edge | edge | 
| private  java.lang.Object | head | 
| private  java.lang.Object | tail | 
| Fields inherited from interface net.walend.digraph.CEDigraph | 
| EMPTY | 
| Constructor Summary | |
| AbstractDelegateDigraphOfCEPaths.DigraphCEPath(java.lang.Object head,
                                               AbstractDelegateDigraphOfCEPaths.Edge edge,
                                               java.lang.Object tail,
                                               AbstractDelegateDigraphOfCEPaths container) | |
| Method Summary | |
| private  void | checkEdge(java.lang.Object edge) | 
| private  void | checkEdgeIndex(int index) | 
| private  void | checkIndices(int startNodeIndex,
             int endNodeIndex) | 
| private  void | checkNode(java.lang.Object node) | 
| private  void | checkNodeIndex(int index) | 
|  boolean | containsCEDigraph(CEDigraph digraph)Returns true if digraph is a subgraph of this CEDigraph. | 
|  boolean | containsEdge(java.lang.Object fromNode,
             java.lang.Object toNode)Returns true if the digraph contains any edge from fromNode to toNode | 
|  boolean | containsEdge(java.lang.Object fromNode,
             java.lang.Object toNode,
             java.lang.Object edge)Returns true if edge links fromNode to toNode | 
|  boolean | containsNode(java.lang.Object node) | 
|  boolean | containsNodes(java.util.Set nodes) | 
|  int | countInboundEdges(java.lang.Object node) | 
|  int | countOutboundEdges(java.lang.Object node) | 
|  int | edgeCount() | 
|  EdgeIterator | edgeIterator() | 
|  EdgeNodeIterator | edgeNodeIterator()Returns an iterator that iterates across pairs of nodes that make edges. | 
|  boolean | equals(java.lang.Object object) | 
| protected  AbstractDelegateDigraphOfCEPaths | getContainer() | 
|  java.lang.Object | getEdge(java.lang.Object fromNode,
        java.lang.Object toNode)Returns null if no edge links fromNode to toNode | 
|  java.lang.Object | getEdgeAtIndex(int index) | 
|  java.util.List | getEdgeList()Returns an immutable list of the edges. | 
|  Bag | getEdges() | 
|  java.util.Set | getFromNodes(java.lang.Object node)Returns the set of nodes that can reach this node by crossing one edge. | 
|  java.lang.Object | getHead() | 
|  Bag | getInboundEdges(java.lang.Object node)Returns the empty set if node has no inbound edges. | 
|  int | getIndexOfEdge(java.lang.Object edge) | 
|  int | getIndexOfNode(java.lang.Object node) | 
|  int | getLastIndexOfEdge(java.lang.Object edge) | 
|  int | getLastIndexOfNode(java.lang.Object node) | 
|  java.lang.Object | getNeck() | 
|  java.lang.Object | getNodeAtIndex(int index) | 
|  java.util.List | getNodeList()Returns an immutable list of the nodes. | 
|  java.util.Set | getNodes() | 
|  Bag | getOutboundEdges(java.lang.Object node)Returns the empty set if node has no outbound edges. | 
|  java.lang.Class | getPrincipleInterface()Returns the class's principle interface for state comparisons. | 
|  CEPath | getSubpath(int startNodeIndex,
           int endNodeIndex)Returns a new path, between startNodeIndex and endNodeIndex, inclusive. | 
| private  CEPath | getSubpath(java.lang.Object startNode,
           java.lang.Object endNode) | 
|  CEPath | getSubpathFirst(java.lang.Object startNode,
                java.lang.Object endNode)Returns a new path, between the first occurence of startNode and the first occurence of endNode, inclusive. | 
|  CEPath | getSubpathFirstToLast(java.lang.Object startNode,
                      java.lang.Object endNode)Returns a new path, between the first occurence of startNode and the last occurence of endNode, inclusive. | 
|  CEPath | getSubpathLast(java.lang.Object startNode,
               java.lang.Object endNode)Returns a new path, between the last occurence of startNode and the last occurence of endNode, inclusive. | 
|  CEPath | getSubpathLastToFirst(java.lang.Object startNode,
                      java.lang.Object endNode)Returns a new path, between the last occurence of startNode and the first occurence of endNode, inclusive. | 
|  CEDigraph | getSupergraph()Returns the base. | 
|  java.lang.Object | getTail() | 
|  java.util.Set | getToNodes(java.lang.Object node)Returns the set of nodes that can be reached from this node by crossing one edge. | 
|  int | hashCode() | 
|  CEDigraph | intersectWithCEDigraph(CEDigraph digraph)Returns a new digraph that is the intersection of this with digraph. | 
|  boolean | isEdgeFree()Returns true if this Digraph has no edges. | 
|  boolean | isEmpty() | 
|  int | nodeCount() | 
|  java.util.Iterator | nodeIterator()Implementations should explicitly state how they interpret nodeIterator()'s remove method. | 
|  int | pathEdgeCount()Returns the number of edges in the path, including repeates. | 
|  EdgeIterator | pathEdgeIterator()Implementations should explicitly state how they interpret nodeIterator()'s remove method. | 
|  EdgeNodeIterator | pathEdgeNodeIterator()Iterate through the edges in path order. | 
|  int | pathNodeCount()Returns the number of nodes in the path, including repeates. | 
|  java.util.Iterator | pathNodeIterator()Implementations should explicitly state how they interpret nodeIterator()'s remove method. | 
|  boolean | sameCEDigraphAs(CEDigraph digraph)Returns true if digraph is the same as this, and all their contents have the same state. | 
|  boolean | sameCEPathAs(CEPath path)Returns true if path is the same path as this, on the same digraph. | 
|  boolean | sameStateAs(HasState victim)If two HasStates have the same internal state, return true. | 
|  java.lang.String | toString() | 
|  CEDigraph | unionCEDigraph(CEDigraph digraph)Returns a new digraph that is the union of this with digraph. | 
|  boolean | valid()Returns true if this path is still a subgraph of its supergraph | 
| Methods inherited from class java.lang.Object | 
| clone, finalize, getClass, notify, notifyAll, wait, wait, wait | 
| Field Detail | 
private AbstractDelegateDigraphOfCEPaths.Edge edge
private java.lang.Object head
private java.lang.Object tail
private AbstractDelegateDigraphOfCEPaths container
| Constructor Detail | 
public AbstractDelegateDigraphOfCEPaths.DigraphCEPath(java.lang.Object head,
                                                      AbstractDelegateDigraphOfCEPaths.Edge edge,
                                                      java.lang.Object tail,
                                                      AbstractDelegateDigraphOfCEPaths container)
| Method Detail | 
protected AbstractDelegateDigraphOfCEPaths getContainer()
public java.lang.Object getNeck()
public CEDigraph getSupergraph()
getSupergraph in interface CEPathprivate void checkEdge(java.lang.Object edge)
public int getIndexOfEdge(java.lang.Object edge)
getIndexOfEdge in interface CEPathpublic int getLastIndexOfEdge(java.lang.Object edge)
getLastIndexOfEdge in interface CEPathprivate void checkEdgeIndex(int index)
public java.lang.Object getEdgeAtIndex(int index)
getEdgeAtIndex in interface CEPathpublic java.util.List getEdgeList()
getEdgeList in interface CEPathprivate void checkNodeIndex(int index)
private void checkIndices(int startNodeIndex,
                          int endNodeIndex)
                   throws InvalidSpliceException
InvalidSpliceException
public CEPath getSubpath(int startNodeIndex,
                         int endNodeIndex)
                  throws InvalidSpliceException
getSubpath in interface CEPathInvalidSpliceException
private CEPath getSubpath(java.lang.Object startNode,
                          java.lang.Object endNode)
                   throws NodeMissingException,
                          InvalidSpliceException
NodeMissingException
InvalidSpliceException
public CEPath getSubpathFirst(java.lang.Object startNode,
                              java.lang.Object endNode)
                       throws NodeMissingException,
                              InvalidSpliceException
getSubpathFirst in interface CEPathNodeMissingException - if the nodes are not in the path.
InvalidSpliceException - if the nodes are not in the right order.
public CEPath getSubpathLast(java.lang.Object startNode,
                             java.lang.Object endNode)
                      throws NodeMissingException,
                             InvalidSpliceException
getSubpathLast in interface CEPathNodeMissingException - if the nodes are not in the path.
InvalidSpliceException - if the nodes are not in the right order.
public CEPath getSubpathFirstToLast(java.lang.Object startNode,
                                    java.lang.Object endNode)
                             throws NodeMissingException,
                                    InvalidSpliceException
getSubpathFirstToLast in interface CEPathNodeMissingException - if the nodes are not in the path.
InvalidSpliceException - if the nodes are not in the right order.
public CEPath getSubpathLastToFirst(java.lang.Object startNode,
                                    java.lang.Object endNode)
                             throws NodeMissingException,
                                    InvalidSpliceException
getSubpathLastToFirst in interface CEPathNodeMissingException - if the nodes are not in the path.
InvalidSpliceException - if the nodes are not in the right order.public EdgeIterator pathEdgeIterator()
The Iterator should start at the beginning of the path and iterate to the end.
pathEdgeIterator in interface CEPathpublic boolean sameCEPathAs(CEPath path)
sameCEPathAs in interface CEPathpublic boolean valid()
valid in interface Pathpublic int pathNodeCount()
pathNodeCount in interface Pathpublic int pathEdgeCount()
pathEdgeCount in interface Pathpublic java.lang.Object getHead()
getHead in interface Pathpublic java.lang.Object getTail()
getTail in interface Pathpublic java.lang.Object getNodeAtIndex(int index)
getNodeAtIndex in interface Pathpublic int getIndexOfNode(java.lang.Object node)
getIndexOfNode in interface Pathpublic int getLastIndexOfNode(java.lang.Object node)
getLastIndexOfNode in interface Pathpublic java.util.List getNodeList()
getNodeList in interface Pathpublic java.util.Iterator pathNodeIterator()
The Iterator should start at the beginning of the path and iterate to the end.
pathNodeIterator in interface Pathpublic EdgeNodeIterator pathEdgeNodeIterator()
If Path is immutable, edgeIterator()'s remove() method throws an UnsupportedOperationException.
pathEdgeNodeIterator in interface Path
public boolean containsEdge(java.lang.Object fromNode,
                            java.lang.Object toNode,
                            java.lang.Object edge)
                     throws NodeMissingException
containsEdge in interface CEDigraphNodeMissingException - if either node is missing from the digraph.public Bag getEdges()
getEdges in interface CEDigraph
private void checkNode(java.lang.Object node)
                throws NodeMissingException
NodeMissingException
public Bag getInboundEdges(java.lang.Object node)
                    throws NodeMissingException
getInboundEdges in interface CEDigraphNodeMissingException - if node is not in the digraph.
public Bag getOutboundEdges(java.lang.Object node)
                     throws NodeMissingException
getOutboundEdges in interface CEDigraphNodeMissingException - if node is not in the digraph.
public java.lang.Object getEdge(java.lang.Object fromNode,
                                java.lang.Object toNode)
                         throws NodeMissingException
getEdge in interface CEDigraphNodeMissingException - if either node is missing from the digraph.public EdgeIterator edgeIterator()
edgeIterator in interface CEDigraphpublic boolean containsCEDigraph(CEDigraph digraph)
containsCEDigraph in interface CEDigraphpublic boolean sameCEDigraphAs(CEDigraph digraph)
sameCEDigraphAs in interface CEDigraphpublic CEDigraph intersectWithCEDigraph(CEDigraph digraph)
intersectWithCEDigraph in interface CEDigraphpublic CEDigraph unionCEDigraph(CEDigraph digraph)
unionCEDigraph in interface CEDigraphpublic int nodeCount()
nodeCount in interface Digraphpublic int edgeCount()
edgeCount in interface Digraphpublic boolean isEmpty()
isEmpty in interface Digraphpublic boolean containsNode(java.lang.Object node)
containsNode in interface Digraph
public boolean containsEdge(java.lang.Object fromNode,
                            java.lang.Object toNode)
                     throws NodeMissingException
containsEdge in interface DigraphNodeMissingException - if either node is missing from the digraph.
public int countInboundEdges(java.lang.Object node)
                      throws NodeMissingException
countInboundEdges in interface DigraphNodeMissingException - if node is not in the digraph.
public int countOutboundEdges(java.lang.Object node)
                       throws NodeMissingException
countOutboundEdges in interface DigraphNodeMissingException - if node is not in the digraph.
public java.util.Set getFromNodes(java.lang.Object node)
                           throws NodeMissingException
getFromNodes in interface DigraphNodeMissingException - if node is not in the digraph.
public java.util.Set getToNodes(java.lang.Object node)
                         throws NodeMissingException
getToNodes in interface DigraphNodeMissingException - if node is not in the digraph.public java.util.Iterator nodeIterator()
nodeIterator in interface Digraphpublic EdgeNodeIterator edgeNodeIterator()
edgeNodeIterator in interface Digraphpublic java.util.Set getNodes()
getNodes in interface Digraphpublic boolean isEdgeFree()
isEdgeFree in interface Digraphpublic boolean containsNodes(java.util.Set nodes)
containsNodes in interface Digraphpublic java.lang.Class getPrincipleInterface()
HasState
getPrincipleInterface in interface HasStatepublic boolean sameStateAs(HasState victim)
HasStateFor objects with subobjects, Generally this method should only return true if the internal objects are equal. Implement a contentsHaveSameState() method to determine if the contents have the same state.
sameStateAs in interface HasStatepublic java.lang.String toString()
toString in class java.lang.Objectpublic boolean equals(java.lang.Object object)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Object| 
 | |||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||