|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
MutableUEPath is an interface for represtenting mutable paths through UEDigraph.
Direct implementations of UEDigraph should have a copy constructor that takes a UEPath, and a constructor that requires a UEDigraph and a start node.
Field Summary |
Fields inherited from interface net.walend.digraph.UEDigraph |
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(UEPath path)
Adds a path to the beginning of this path. |
void |
graftToTail(UEPath path)
Adds a path to the end of this path. |
UEPath |
pruneHead(int index)
Removes from the head to the edge at index. |
UEPath |
pruneHeadFromFirst(java.lang.Object node)
Removes from the head to the first occurance of node. |
UEPath |
pruneHeadFromLast(java.lang.Object node)
Removes from the head to the last occurance of node. |
UEPath |
pruneTail(int index)
Removes from the edge at index to the tail. |
UEPath |
pruneTailFromFirst(java.lang.Object node)
Removes from the first occurance of node to the tail. |
UEPath |
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. |
UEPath |
splice(UEPath path,
int startNodeIndex,
int endNodeIndex)
Splices in path between the startNodeIndex and endNodeIndex. |
UEPath |
spliceFirst(UEPath path)
Splices in path between the first occurence of path's head and the first occurence of path's tail. |
UEPath |
spliceFirstToLast(UEPath path)
Splices in path between the first occurence of path's head and the last occurence of path's tail. |
UEPath |
spliceLast(UEPath path)
Splices in path between the last occurence of path's head and the last occurence of path's tail. |
UEPath |
spliceLastToFirst(UEPath 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.UEPath |
getEdgeAtIndex, getEdgeList, getIndexOfEdge, getLastIndexOfEdge, getSubpath, getSubpathFirst, getSubpathFirstToLast, getSubpathLast, getSubpathLastToFirst, getSupergraph, pathEdgeIterator, sameUEPathAs |
Methods inherited from interface net.walend.digraph.UEDigraph |
containsEdge, containsEdge, containsEdges, containsUEDigraph, edgeIterator, getEdge, getEdges, getFromNode, getInboundEdges, getOutboundEdges, getToNode, intersectWithUEDigraph, sameUEDigraphAs, unionUEDigraph |
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(UEPath 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(UEPath 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 UEPath pruneTail(int index)
public UEPath pruneHead(int index)
public UEPath pruneTailFromFirst(java.lang.Object node) throws NodeMissingException
NodeMissingException
- if the node is not in the digraph.public UEPath pruneTailFromLast(java.lang.Object node) throws NodeMissingException
NodeMissingException
- if the node is not in the digraph.public UEPath pruneHeadFromFirst(java.lang.Object node) throws NodeMissingException
NodeMissingException
- if the node is not in the digraph.public UEPath pruneHeadFromLast(java.lang.Object node) throws NodeMissingException
NodeMissingException
- if the node is not in the digraph.public UEPath splice(UEPath 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 UEPath spliceFirst(UEPath 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 UEPath spliceLast(UEPath 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 UEPath spliceFirstToLast(UEPath 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 UEPath spliceLastToFirst(UEPath 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 |