|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--net.walend.digraph.path.AbstractListCEPath | +--net.walend.digraph.path.MutableListCEPath
This class implements the MutableCEPath interface using two lists.
Nested Class Summary |
Nested classes inherited from class net.walend.digraph.path.AbstractListCEPath |
AbstractListCEPath.ListEdgeIterator |
Field Summary |
Fields inherited from class net.walend.digraph.path.AbstractListCEPath |
|
Fields inherited from interface net.walend.digraph.CEDigraph |
EMPTY |
Constructor Summary | |
MutableListCEPath(CEDigraph digraph,
java.util.List nodeList,
java.util.List edgeList)
Creates a new path on digraph that has only node in it, using nodeListn and edgeList. |
|
MutableListCEPath(CEDigraph digraph,
java.lang.Object node)
Creates a new path on digraph that has only node in it with DEFAULTCAPACITY of 7. |
|
MutableListCEPath(CEDigraph digraph,
java.lang.Object node,
int nodeCapacity)
Creates a new path on digraph that has only node in it, with a capacity nodeCapacity. |
|
MutableListCEPath(CEDigraph digraph,
java.lang.Object node,
java.util.List nodeList,
java.util.List edgeList)
Creates a new path on digraph that has only node in it, using nodeListn and edgeList. |
|
MutableListCEPath(CEPath path)
Create a new path that is a copy of path. |
|
MutableListCEPath(CEPath path,
java.util.List nodeList,
java.util.List edgeList)
Create a new path that is a copy of path, using nodeList and edgeList. |
Method Summary | |
void |
addToHead(java.lang.Object node,
java.lang.Object edge)
Adds a node and edge 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 class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
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 |
Constructor Detail |
public MutableListCEPath(CEPath path) throws InvalidPathException
InvalidPathException
- if the path is not valid.public MutableListCEPath(CEPath path, java.util.List nodeList, java.util.List edgeList)
InvalidPathException
- if the path is not valid.public MutableListCEPath(CEDigraph digraph, java.lang.Object node)
InvalidPathException
- if the path is not valid (because the node isn't in the supergraph).public MutableListCEPath(CEDigraph digraph, java.lang.Object node, int nodeCapacity)
InvalidPathException
- if the path is not valid (because the node isn't in the supergraph).public MutableListCEPath(CEDigraph digraph, java.lang.Object node, java.util.List nodeList, java.util.List edgeList)
InvalidPathException
- if the path is not valid (because the node isn't in the supergraph).public MutableListCEPath(CEDigraph digraph, java.util.List nodeList, java.util.List edgeList)
InvalidPathException
- if the path is not valid (because the node isn't in the supergraph).Method Detail |
public void addToTail(java.lang.Object edge, java.lang.Object node) throws EdgeMissingException, NodeMissingException
returns true if the operation is successful, false if the path is unchanged.
addToTail
in interface MutableCEPath
addToTail
in class AbstractListCEPath
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 node, java.lang.Object edge) throws EdgeMissingException, NodeMissingException
returns true if the operation is successful, false if the path is unchanged.
addToHead
in interface MutableCEPath
addToHead
in class AbstractListCEPath
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 java.lang.Object removeHead() throws LastNodeException
returns the orphaned edge.
removeHead
in interface MutableCEPath
removeHead
in class AbstractListCEPath
LastNodeException
public java.lang.Object removeTail() throws LastNodeException
returns the orphaned edge.
removeTail
in interface MutableCEPath
removeTail
in class AbstractListCEPath
LastNodeException
public void graftToTail(CEPath path) throws EdgeMissingException, NodeMissingException, InvalidSpliceException
graftToTail
in interface MutableCEPath
graftToTail
in class AbstractListCEPath
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 void graftToHead(CEPath path) throws EdgeMissingException, NodeMissingException, InvalidSpliceException
graftToHead
in interface MutableCEPath
graftToHead
in class AbstractListCEPath
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 CEPath pruneTail(int index)
pruneTail
in interface MutableCEPath
pruneTail
in class AbstractListCEPath
public CEPath pruneHead(int index)
pruneHead
in interface MutableCEPath
pruneHead
in class AbstractListCEPath
public CEPath pruneTailFromFirst(java.lang.Object node) throws NodeMissingException
pruneTailFromFirst
in interface MutableCEPath
pruneTailFromFirst
in class AbstractListCEPath
NodeMissingException
- if the node is not in the digraph.public CEPath pruneTailFromLast(java.lang.Object node) throws NodeMissingException
pruneTailFromLast
in interface MutableCEPath
pruneTailFromLast
in class AbstractListCEPath
NodeMissingException
- if the node is not in the digraph.public CEPath pruneHeadFromFirst(java.lang.Object node) throws NodeMissingException
pruneHeadFromFirst
in interface MutableCEPath
pruneHeadFromFirst
in class AbstractListCEPath
NodeMissingException
- if the node is not in the digraph.public CEPath pruneHeadFromLast(java.lang.Object node) throws NodeMissingException
pruneHeadFromLast
in interface MutableCEPath
pruneHeadFromLast
in class AbstractListCEPath
NodeMissingException
- if the node is not in the digraph.public CEPath splice(CEPath path, int startNodeIndex, int endNodeIndex) throws EdgeMissingException, NodeMissingException, InvalidSpliceException
splice
in interface MutableCEPath
splice
in class AbstractListCEPath
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
spliceFirst
in interface MutableCEPath
spliceFirst
in class AbstractListCEPath
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
spliceLast
in interface MutableCEPath
spliceLast
in class AbstractListCEPath
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
spliceFirstToLast
in interface MutableCEPath
spliceFirstToLast
in class AbstractListCEPath
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
spliceLastToFirst
in interface MutableCEPath
spliceLastToFirst
in class AbstractListCEPath
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 |