org.progeeks.graph
Class LoggingGraph

java.lang.Object
  extended by org.progeeks.graph.LoggingGraph
All Implemented Interfaces:
com.phoenixst.plexus.Graph

public class LoggingGraph
extends java.lang.Object
implements com.phoenixst.plexus.Graph

A graph useful for debugging as it simply logs all method requests with their parameters but otherwise performs no-ops.

Version:
$Revision: 1.8 $
Author:
Paul Speed

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.phoenixst.plexus.Graph
com.phoenixst.plexus.Graph.Edge
 
Constructor Summary
LoggingGraph(Log log)
           
 
Method Summary
 com.phoenixst.plexus.Graph.Edge addEdge(java.lang.Object object, java.lang.Object tail, java.lang.Object head, boolean isDirected)
           
 boolean addNode(java.lang.Object node)
           
 java.util.Collection adjacentNodes(java.lang.Object node, org.apache.commons.collections.Predicate traverserPredicate)
           
 boolean containsEdge(com.phoenixst.plexus.Graph.Edge edge)
           
 boolean containsNode(java.lang.Object node)
           
 int degree(java.lang.Object node)
           
 int degree(java.lang.Object node, org.apache.commons.collections.Predicate traverserPredicate)
           
 java.util.Collection edges(org.apache.commons.collections.Predicate edgePredicate)
           
 java.lang.Object getAdjacentNode(java.lang.Object node, org.apache.commons.collections.Predicate traverserPredicate)
           
 com.phoenixst.plexus.Graph.Edge getEdge(org.apache.commons.collections.Predicate edgePredicate)
           
 com.phoenixst.plexus.Graph.Edge getIncidentEdge(java.lang.Object node, org.apache.commons.collections.Predicate traverserPredicate)
           
 java.lang.Object getNode(org.apache.commons.collections.Predicate nodePredicate)
           
 java.util.Collection incidentEdges(java.lang.Object node, org.apache.commons.collections.Predicate traverserPredicate)
           
 java.util.Collection nodes(org.apache.commons.collections.Predicate nodePredicate)
           
 boolean removeEdge(com.phoenixst.plexus.Graph.Edge edge)
           
 boolean removeNode(java.lang.Object node)
           
 com.phoenixst.plexus.Traverser traverser(java.lang.Object node, org.apache.commons.collections.Predicate traverserPredicate)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LoggingGraph

public LoggingGraph(Log log)
Method Detail

addNode

public boolean addNode(java.lang.Object node)
Specified by:
addNode in interface com.phoenixst.plexus.Graph

removeNode

public boolean removeNode(java.lang.Object node)
Specified by:
removeNode in interface com.phoenixst.plexus.Graph

containsNode

public boolean containsNode(java.lang.Object node)
Specified by:
containsNode in interface com.phoenixst.plexus.Graph

addEdge

public com.phoenixst.plexus.Graph.Edge addEdge(java.lang.Object object,
                                               java.lang.Object tail,
                                               java.lang.Object head,
                                               boolean isDirected)
Specified by:
addEdge in interface com.phoenixst.plexus.Graph

removeEdge

public boolean removeEdge(com.phoenixst.plexus.Graph.Edge edge)
Specified by:
removeEdge in interface com.phoenixst.plexus.Graph

containsEdge

public boolean containsEdge(com.phoenixst.plexus.Graph.Edge edge)
Specified by:
containsEdge in interface com.phoenixst.plexus.Graph

degree

public int degree(java.lang.Object node)
Specified by:
degree in interface com.phoenixst.plexus.Graph

degree

public int degree(java.lang.Object node,
                  org.apache.commons.collections.Predicate traverserPredicate)
Specified by:
degree in interface com.phoenixst.plexus.Graph

nodes

public java.util.Collection nodes(org.apache.commons.collections.Predicate nodePredicate)
Specified by:
nodes in interface com.phoenixst.plexus.Graph

edges

public java.util.Collection edges(org.apache.commons.collections.Predicate edgePredicate)
Specified by:
edges in interface com.phoenixst.plexus.Graph

adjacentNodes

public java.util.Collection adjacentNodes(java.lang.Object node,
                                          org.apache.commons.collections.Predicate traverserPredicate)
Specified by:
adjacentNodes in interface com.phoenixst.plexus.Graph

incidentEdges

public java.util.Collection incidentEdges(java.lang.Object node,
                                          org.apache.commons.collections.Predicate traverserPredicate)
Specified by:
incidentEdges in interface com.phoenixst.plexus.Graph

getNode

public java.lang.Object getNode(org.apache.commons.collections.Predicate nodePredicate)
Specified by:
getNode in interface com.phoenixst.plexus.Graph

getEdge

public com.phoenixst.plexus.Graph.Edge getEdge(org.apache.commons.collections.Predicate edgePredicate)
Specified by:
getEdge in interface com.phoenixst.plexus.Graph

getAdjacentNode

public java.lang.Object getAdjacentNode(java.lang.Object node,
                                        org.apache.commons.collections.Predicate traverserPredicate)
Specified by:
getAdjacentNode in interface com.phoenixst.plexus.Graph

getIncidentEdge

public com.phoenixst.plexus.Graph.Edge getIncidentEdge(java.lang.Object node,
                                                       org.apache.commons.collections.Predicate traverserPredicate)
Specified by:
getIncidentEdge in interface com.phoenixst.plexus.Graph

traverser

public com.phoenixst.plexus.Traverser traverser(java.lang.Object node,
                                                org.apache.commons.collections.Predicate traverserPredicate)
Specified by:
traverser in interface com.phoenixst.plexus.Graph


Copyright © 2002-2003 Paul Speed. All Rights Reserved.