|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
CEDigraph is an interface for representing directed graphs of nodes linked by zero or one edge. Each node and edge must be a unique Object in the digraph. Reusing edges and nodes may produce unpredictable results.
By default, this digraph uses equals() as the method to determine identity.
One could create a subclass of CEDigraph that will work with zero or more edges by extending this interface. I have not done that.
Direct implementations of CEDigraph should have a single constructor that takes a CEDigraph as a parameter. Some implementations should provide a view of this CEDigraph, by implementing the net.walend.collection.View interface. Others should copy the parameter to produced an immutable CEDigraph.
| Field Summary | |
static CEDigraph |
EMPTY
|
| Method Summary | |
boolean |
containsCEDigraph(CEDigraph digraph)
Returns true if digraph is a subgraph of this CEDigraph. |
boolean |
containsEdge(java.lang.Object fromNode,
java.lang.Object toNode,
java.lang.Object edge)
Returns true if edge links fromNode to toNode |
EdgeIterator |
edgeIterator()
|
java.lang.Object |
getEdge(java.lang.Object fromNode,
java.lang.Object toNode)
Returns null if no edge links fromNode to toNode |
Bag |
getEdges()
|
Bag |
getInboundEdges(java.lang.Object node)
Returns the empty set if node has no inbound edges. |
Bag |
getOutboundEdges(java.lang.Object node)
Returns the empty set if node has no outbound edges. |
CEDigraph |
intersectWithCEDigraph(CEDigraph digraph)
Returns a new digraph that is the intersection of this with digraph. |
boolean |
sameCEDigraphAs(CEDigraph digraph)
Returns true if digraph is the same as this; that is, if this.containsCEDigraph(digraph) and digraph.containsCEDigraph(this). |
CEDigraph |
unionCEDigraph(CEDigraph digraph)
Returns a new digraph that is the union of this with digraph. |
| 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 |
| Field Detail |
public static final CEDigraph EMPTY
| Method Detail |
public boolean containsEdge(java.lang.Object fromNode,
java.lang.Object toNode,
java.lang.Object edge)
throws NodeMissingException
NodeMissingException - if either node is missing from the digraph.public Bag getEdges()
public Bag getInboundEdges(java.lang.Object node)
throws NodeMissingException
NodeMissingException - if node is not in the digraph.
public Bag getOutboundEdges(java.lang.Object node)
throws NodeMissingException
NodeMissingException - if node is not in the digraph.
public java.lang.Object getEdge(java.lang.Object fromNode,
java.lang.Object toNode)
throws NodeMissingException
NodeMissingException - if either node is missing from the digraph.public EdgeIterator edgeIterator()
public boolean containsCEDigraph(CEDigraph digraph)
public boolean sameCEDigraphAs(CEDigraph digraph)
public CEDigraph intersectWithCEDigraph(CEDigraph digraph)
public CEDigraph unionCEDigraph(CEDigraph digraph)
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||