public class SingletonGraph extends Object implements Graph, Serializable
Graph which contains a single node
and no edges.Graph.Edge| Constructor and Description |
|---|
SingletonGraph(Object node)
Creates a new
SingletonGraph. |
| Modifier and Type | Method and Description |
|---|---|
Graph.Edge |
addEdge(Object object,
Object tail,
Object head,
boolean isDirected)
Throws an
UnsupportedOperationException. |
boolean |
addNode(Object node)
Throws an
UnsupportedOperationException. |
Collection |
adjacentNodes(Object node,
org.apache.commons.collections.Predicate traverserPredicate)
Returns an empty collection.
|
boolean |
containsEdge(Graph.Edge edge)
Returns
false. |
boolean |
containsNode(Object node)
Returns
true if this Graph contains
the specified node. |
int |
degree(Object node)
Returns the degree of
node, defined as the number
of edges incident on node, with self-loops
counted twice. |
int |
degree(Object node,
org.apache.commons.collections.Predicate traverserPredicate)
Returns the degree of
node for which the
specified Predicate is satisfied, defined as the
number of edges incident on node that pass the
predicate, with self-loops counted only once. |
Collection |
edges(org.apache.commons.collections.Predicate edgePredicate)
Returns an empty collection.
|
Object |
getAdjacentNode(Object node,
org.apache.commons.collections.Predicate traverserPredicate)
Returns a node adjacent to the specified
node for
which the specified Predicate is satisfied. |
Graph.Edge |
getEdge(org.apache.commons.collections.Predicate edgePredicate)
Returns
null. |
Graph.Edge |
getIncidentEdge(Object node,
org.apache.commons.collections.Predicate traverserPredicate)
Returns a
Graph.Edge incident on the specified
node for which the specified
Predicate is satisfied. |
Object |
getNode(org.apache.commons.collections.Predicate nodePredicate)
Returns a node from this
Graph that satisfies the
specified predicate, or null if no
such node exists. |
Collection |
incidentEdges(Object node,
org.apache.commons.collections.Predicate traverserPredicate)
Returns an empty collection.
|
Collection |
nodes(org.apache.commons.collections.Predicate nodePredicate)
Returns the nodes from this
Graph that satisfy
the specified predicate. |
boolean |
removeEdge(Graph.Edge edge)
Throws an
UnsupportedOperationException. |
boolean |
removeNode(Object node)
Throws an
UnsupportedOperationException. |
Traverser |
traverser(Object node,
org.apache.commons.collections.Predicate traverserPredicate)
Returns a
Traverser from node to all
adjacent nodes for which the specified Predicate
is satisfied. |
public SingletonGraph(Object node)
SingletonGraph.public boolean addNode(Object node)
UnsupportedOperationException.public boolean removeNode(Object node)
UnsupportedOperationException.removeNode in interface Graphnode - the node to be removed from this
Graph.true if this Graph contained
node.public boolean containsNode(Object node)
Graphtrue if this Graph contains
the specified node.containsNode in interface Graphnode - the node whose presence in this Graph
is to be tested.true if this Graph contains
the specified node.public Graph.Edge addEdge(Object object, Object tail, Object head, boolean isDirected)
UnsupportedOperationException.addEdge in interface Graphobject - the user-defined object to be contained in the
new edge.tail - the first endpoint of the new edge.head - the second endpoint of the new edge.isDirected - whether the new edge is directed.Graph.Edge if this
Graph changed as a result of the call,
null if this Graph does not allow
duplicate edges and already contains the specified edge.public boolean removeEdge(Graph.Edge edge)
UnsupportedOperationException.removeEdge in interface Graphedge - the Graph.Edge to be removed from
this Graph.true if this Graph contained
the specified Graph.Edge.public boolean containsEdge(Graph.Edge edge)
false.containsEdge in interface Graphedge - the Graph.Edge whose presence in this
Graph is to be tested.true if this Graph contains
the specified Graph.Edge.public int degree(Object node)
Graphnode, defined as the number
of edges incident on node, with self-loops
counted twice. If this node has more than
Integer.MAX_VALUE incident edges, returns
Integer.MAX_VALUE.public int degree(Object node, org.apache.commons.collections.Predicate traverserPredicate)
Graphnode for which the
specified Predicate is satisfied, defined as the
number of edges incident on node that pass the
predicate, with self-loops counted only once. The argument to
the Predicate.evaluate() method is expected to be
an OrderedPair. The first
element of the OrderedPair is the specified
node, the second is the Graph.Edge.
If this node has more than Integer.MAX_VALUE such
edges, returns Integer.MAX_VALUE.public Collection nodes(org.apache.commons.collections.Predicate nodePredicate)
GraphGraph that satisfy
the specified predicate.public Collection edges(org.apache.commons.collections.Predicate edgePredicate)
public Collection adjacentNodes(Object node, org.apache.commons.collections.Predicate traverserPredicate)
adjacentNodes in interface Graphnode - return the nodes adjacent to this node for which
the specified predicate is satisfied.traverserPredicate - the predicate which the returned
nodes and the traversed Graph.Edges must satisfy.node
for which the specified predicate is satisfied.public Collection incidentEdges(Object node, org.apache.commons.collections.Predicate traverserPredicate)
incidentEdges in interface Graphnode - return the Graph.Edges incident on
this node for which the specified predicate is satisfied.traverserPredicate - the predicate which the returned
Graph.Edges must satisfy.Graph.Edges incident on the specified
node for which the specified predicate is
satisfied.public Object getNode(org.apache.commons.collections.Predicate nodePredicate)
GraphGraph that satisfies the
specified predicate, or null if no
such node exists.public Graph.Edge getEdge(org.apache.commons.collections.Predicate edgePredicate)
null.public Object getAdjacentNode(Object node, org.apache.commons.collections.Predicate traverserPredicate)
Graphnode for
which the specified Predicate is satisfied. The
argument to the Predicate.evaluate() method is
expected to be an OrderedPair. The first element of
the OrderedPair is the specified
node, the second is the Graph.Edge.getAdjacentNode in interface Graphnode - traverse to a node adjacent to this node for which
the specified predicate is satisfied.traverserPredicate - the predicate which the returned
node and the traversed Graph.Edge must satisfy.node for
which the specified predicate is satisfied.public Graph.Edge getIncidentEdge(Object node, org.apache.commons.collections.Predicate traverserPredicate)
GraphGraph.Edge incident on the specified
node for which the specified
Predicate is satisfied. The argument to the
Predicate.evaluate() method is expected to be an
OrderedPair. The first
element of the OrderedPair is the specified
node, the second is the Graph.Edge.getIncidentEdge in interface Graphnode - traverse to a Graph.Edge incident on
this node for which the specified predicate is satisfied.traverserPredicate - the predicate which the returned
Graph.Edge must satisfy.Graph.Edge incident on the specified
node for which the specified predicate is
satisfied.public Traverser traverser(Object node, org.apache.commons.collections.Predicate traverserPredicate)
GraphTraverser from node to all
adjacent nodes for which the specified Predicate
is satisfied. The argument to the
Predicate.evaluate() method is expected to be an
OrderedPair. The first
element of the OrderedPair is the specified
node, the second is the Graph.Edge.
The nodes returned by Iterator.next() are not
necessarily distinct. Self-loops are only traversed once.
There are no guarantees concerning the order in which the
nodes are returned (unless this Graph is an
instance of some class that provides a guarantee).traverser in interface Graphnode - traverse over all nodes adjacent to this node for
which the specified predicate is satisfied.traverserPredicate - the predicate which the returned
nodes and their traversed Graph.Edges must
satisfy.Traverser from node to all
adjacent nodes for which the specified predicate is satisfied.See the Plexus project home, hosted by SourceForge.
Copyright ? 1994-2006, by Phoenix Software Technologists, Inc. and others. All Rights Reserved. Use is subject to license terms.