|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
MutableCEPath is an interface for represtenting mutable paths through CEDigraph.
Direct implementations of CEPath should have a copy constructor that takes a CEPath, and a constructor that requires a CEDigraph and a start node.
Field Summary |
Fields inherited from interface net.walend.digraph.CEDigraph |
EMPTY |
Method Summary | |
void |
addToHead(java.lang.Object edge,
java.lang.Object node)
Adds an edge and node to the beginning of the path. |
void |
addToTail(java.lang.Object edge,
java.lang.Object node)
Adds an edge and node to the end of the path. |
void |
graftToHead(CEPath path)
Adds a path to the beginning of this path. |
void |
graftToTail(CEPath path)
Adds a path to the end of this path. |
CEPath |
pruneHead(int index)
Removes from the head to the edge at index. |
CEPath |
pruneHeadFromFirst(java.lang.Object node)
Removes from the head to the first occurance of node. |
CEPath |
pruneHeadFromLast(java.lang.Object node)
Removes from the head to the last occurance of node. |
CEPath |
pruneTail(int index)
Removes from the edge at index to the tail. |
CEPath |
pruneTailFromFirst(java.lang.Object node)
Removes from the first occurance of node to the tail. |
CEPath |
pruneTailFromLast(java.lang.Object node)
Removes from the last occurance of node to the tail. |
java.lang.Object |
removeHead()
Removes the head node from the path. |
java.lang.Object |
removeTail()
Removes the tail node from the path. |
CEPath |
splice(CEPath path,
int startNodeIndex,
int endNodeIndex)
Splices in path between the startNodeIndex and endNodeIndex. |
CEPath |
spliceFirst(CEPath path)
Splices in path between the first occurence of path's head and the first occurence of path's tail. |
CEPath |
spliceFirstToLast(CEPath path)
Splices in path between the first occurence of path's head and the last occurence of path's tail. |
CEPath |
spliceLast(CEPath path)
Splices in path between the last occurence of path's head and the last occurence of path's tail. |
CEPath |
spliceLastToFirst(CEPath path)
Splices in path between the last occurence of path's head and the first occurence of path's tail. |
Methods inherited from interface net.walend.digraph.path.CEPath |
getEdgeAtIndex, getEdgeList, getIndexOfEdge, getLastIndexOfEdge, getSubpath, getSubpathFirst, getSubpathFirstToLast, getSubpathLast, getSubpathLastToFirst, getSupergraph, pathEdgeIterator, sameCEPathAs |
Methods inherited from interface net.walend.digraph.CEDigraph |
containsCEDigraph, containsEdge, edgeIterator, getEdge, getEdges, getInboundEdges, getOutboundEdges, intersectWithCEDigraph, sameCEDigraphAs, unionCEDigraph |
Methods inherited from interface net.walend.digraph.Digraph |
containsEdge, containsNode, containsNodes, countInboundEdges, countOutboundEdges, edgeCount, edgeNodeIterator, getFromNodes, getNodes, getToNodes, isEdgeFree, isEmpty, nodeCount, nodeIterator |
Methods inherited from interface net.walend.collection.HasState |
getPrincipleInterface, sameStateAs |
Methods inherited from interface net.walend.digraph.path.Path |
getHead, getIndexOfNode, getLastIndexOfNode, getNodeAtIndex, getNodeList, getTail, pathEdgeCount, pathEdgeNodeIterator, pathNodeCount, pathNodeIterator, valid |
Method Detail |
public void addToTail(java.lang.Object edge, java.lang.Object node) throws EdgeMissingException, NodeMissingException
EdgeMissingException
- if the edge is not in the digraph between the tail node and node.
NodeMissingException
- if the node is not in the digraph.public void addToHead(java.lang.Object edge, java.lang.Object node) throws EdgeMissingException, NodeMissingException
EdgeMissingException
- if the edge is not in the digraph between the head node and node.
NodeMissingException
- if the node is not in the digraph.public void graftToHead(CEPath path) throws EdgeMissingException, NodeMissingException, InvalidSpliceException
EdgeMissingException
- if the any edge in path is missing from the digraph.
NodeMissingException
- if any node in path not in the digraph.
InvalidSpliceException
- if path's tail node is not this' head node.public void graftToTail(CEPath path) throws EdgeMissingException, NodeMissingException, InvalidSpliceException
EdgeMissingException
- if the any edge in path is missing from the digraph.
NodeMissingException
- if any node in path not in the digraph.
InvalidSpliceException
- if path's head node is not this' tail node.public java.lang.Object removeHead() throws LastNodeException
returns the orphaned edge.
LastNodeException
public java.lang.Object removeTail() throws LastNodeException
returns the orphaned edge.
LastNodeException
public CEPath pruneTail(int index)
public CEPath pruneHead(int index)
public CEPath pruneTailFromFirst(java.lang.Object node) throws NodeMissingException
NodeMissingException
- if the node is not in the digraph.public CEPath pruneTailFromLast(java.lang.Object node) throws NodeMissingException
NodeMissingException
- if the node is not in the digraph.public CEPath pruneHeadFromFirst(java.lang.Object node) throws NodeMissingException
NodeMissingException
- if the node is not in the digraph.public CEPath pruneHeadFromLast(java.lang.Object node) throws NodeMissingException
NodeMissingException
- if the node is not in the digraph.public CEPath splice(CEPath path, int startNodeIndex, int endNodeIndex) throws EdgeMissingException, NodeMissingException, InvalidSpliceException
EdgeMissingException
- if the any edge in path is missing from the digraph.
NodeMissingException
- if any node in path not in the digraph.
InvalidSpliceException
- if path's head node is not the node in this at startNodeIndex, or if the path's tail node is not the node in this at endNodeIndex.public CEPath spliceFirst(CEPath path) throws EdgeMissingException, NodeMissingException, InvalidSpliceException
EdgeMissingException
- if the any edge in path is missing from the digraph.
NodeMissingException
- if any node in path not in the digraph.
InvalidSpliceException
- if path's head node is not the node in this at startNodeIndex, or if the path's tail node is not the node in this at endNodeIndex.public CEPath spliceLast(CEPath path) throws EdgeMissingException, NodeMissingException, InvalidSpliceException
EdgeMissingException
- if the any edge in path is missing from the digraph.
NodeMissingException
- if any node in path not in the digraph.
InvalidSpliceException
- if path's head node is not the node in this at startNodeIndex, or if the path's tail node is not the node in this at endNodeIndex.public CEPath spliceFirstToLast(CEPath path) throws EdgeMissingException, NodeMissingException, InvalidSpliceException
EdgeMissingException
- if the any edge in path is missing from the digraph.
NodeMissingException
- if any node in path not in the digraph.
InvalidSpliceException
- if path's head node is not the node in this at startNodeIndex, or if the path's tail node is not the node in this at endNodeIndex.public CEPath spliceLastToFirst(CEPath path) throws EdgeMissingException, NodeMissingException, InvalidSpliceException
EdgeMissingException
- if the any edge in path is missing from the digraph.
NodeMissingException
- if any node in path not in the digraph.
InvalidSpliceException
- if path's head node is not the node in this at startNodeIndex, or if the path's tail node is not the node in this at endNodeIndex.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |