Package org.graffiti.session
Class GraphConstraintChecker
java.lang.Object
org.graffiti.session.GraphConstraintChecker
- All Implemented Interfaces:
EventListener
,AttributeListener
,EdgeListener
,GraphListener
,NodeListener
,TransactionListener
public class GraphConstraintChecker extends Object implements TransactionListener, GraphListener, EdgeListener, NodeListener, AttributeListener
This class checks constraints on the graph. Constraints can arbitrarily added
an removed.
GraphConstraintChecker
is a listener to graph,
nodes, edges and attributes and checks the constraints after every change on
these objects.-
Constructor Summary
Constructors Constructor Description GraphConstraintChecker(Graph g, ConstraintCheckerListener ccl)
Constructs a newGraphConstraintChecker
checking constraints on the specifiedGraph
. -
Method Summary
Modifier and Type Method Description void
addConstraint(GraphConstraint c)
Adds another constraint to the set of constraints in this constraint checker.void
checkConstraints()
Checks whether all constraints are satisfied on the specified graph.String
getState()
Returns the state of the constraint checker which contains a message telling which constraints are not satisfied.void
postAttributeAdded(AttributeEvent e)
Called after an attribute has been added.void
postAttributeChanged(AttributeEvent e)
Called after an attribute has been changed.void
postAttributeRemoved(AttributeEvent e)
Called after an attribute has been removed.void
postDirectedChanged(EdgeEvent e)
Called after the edge was set directed or undirected.void
postEdgeAdded(GraphEvent e)
Called after an edge has been added to the graph.void
postEdgeRemoved(GraphEvent e)
Called after an edge has been removed from the graph.void
postEdgeReversed(EdgeEvent e)
Called after the edge has been reversed.void
postGraphCleared(GraphEvent e)
Called after methodclear()
has been called on a graph.void
postInEdgeAdded(NodeEvent e)
Called just after an incoming edge has been added to the node.void
postInEdgeRemoved(NodeEvent e)
Called after an incoming edge has been removed from the node.void
postNodeAdded(GraphEvent e)
Called after an edge has been added to the graph.void
postNodeRemoved(GraphEvent e)
Called after a node has been removed from the graph.void
postOutEdgeAdded(NodeEvent e)
Called after an outgoing edge has been added to the node.void
postOutEdgeRemoved(NodeEvent e)
Called after an outgoing edge has been removed from the node.void
postSourceNodeChanged(EdgeEvent e)
Called after the source node of an edge has changed.void
postTargetNodeChanged(EdgeEvent e)
Called after the target node of an edge has changed.void
postUndirectedEdgeAdded(NodeEvent e)
Called after an (undirected) edge has been added to the node.void
postUndirectedEdgeRemoved(NodeEvent e)
Called after an (undirected) edge has been removed from the node.void
preAttributeAdded(AttributeEvent e)
Called just before an attribute is added.void
preAttributeChanged(AttributeEvent e)
Called before a change of an attribute takes place.void
preAttributeRemoved(AttributeEvent e)
Called just before an attribute is removed.void
preDirectedChanged(EdgeEvent e)
Called before the edge is set directed or undirected.void
preEdgeAdded(GraphEvent e)
Called just before an edge is added to the graph.void
preEdgeRemoved(GraphEvent e)
Called just before an edge is removed from the graph.void
preEdgeReversed(EdgeEvent e)
Called before the edge is going to be reversed.void
preGraphCleared(GraphEvent e)
Called before methodclear()
is called on a graph.void
preInEdgeAdded(NodeEvent e)
Called just before an incoming edge is added to the node.void
preInEdgeRemoved(NodeEvent e)
Called just before an incoming edge is removed from the node.void
preNodeAdded(GraphEvent e)
Called just before a node is added to the graph.void
preNodeRemoved(GraphEvent e)
Called just before a node is removed from the graph.void
preOutEdgeAdded(NodeEvent e)
Called just before an outgoing edge is added to the node.void
preOutEdgeRemoved(NodeEvent e)
Called just before an outgoing edge is removed from the node.void
preSourceNodeChanged(EdgeEvent e)
Called before a change of the source node of an edge takes place.void
preTargetNodeChanged(EdgeEvent e)
Called before a change of the target node of an edge takes place.void
preUndirectedEdgeAdded(NodeEvent e)
Called just before an (undirected) edge is added to the node.void
preUndirectedEdgeRemoved(NodeEvent e)
Called just before an (undirected) edge is removed from the node.void
removeConstraint(GraphConstraint c)
Removes the specifiedGraphConstraint
from the set of constraints of this constraint checker.void
transactionFinished(TransactionEvent e, BackgroundTaskStatusProviderSupportingExternalCall status)
Called when a transaction has stopped.void
transactionStarted(TransactionEvent e)
Called when a transaction has started.
-
Constructor Details
-
GraphConstraintChecker
Constructs a newGraphConstraintChecker
checking constraints on the specifiedGraph
.- Parameters:
g
- theGraph
on which to check the constraints.ccl
- theConstraintCheckerListener
receiving failures of constraints.
-
-
Method Details
-
getState
Returns the state of the constraint checker which contains a message telling which constraints are not satisfied.- Returns:
- the state of the constraint checker which contains a message telling which constraints are not satisfied.
- Throws:
RuntimeException
- DOCUMENT ME!
-
addConstraint
Adds another constraint to the set of constraints in this constraint checker.- Parameters:
c
- theGraphConstraint
to be added to the set of constraints of this constraint checker.
-
checkConstraints
public void checkConstraints()Checks whether all constraints are satisfied on the specified graph. -
postAttributeAdded
Called after an attribute has been added.- Specified by:
postAttributeAdded
in interfaceAttributeListener
- Parameters:
e
- the AttributeEvent detailing the changes.
-
postAttributeChanged
Called after an attribute has been changed.- Specified by:
postAttributeChanged
in interfaceAttributeListener
- Parameters:
e
- the AttributeEvent detailing the changes.
-
postAttributeRemoved
Called after an attribute has been removed.- Specified by:
postAttributeRemoved
in interfaceAttributeListener
- Parameters:
e
- the AttributeEvent detailing the changes.
-
postDirectedChanged
Called after the edge was set directed or undirected.- Specified by:
postDirectedChanged
in interfaceEdgeListener
- Parameters:
e
- the EdgeEvent detailing the changes.
-
postEdgeAdded
Called after an edge has been added to the graph.- Specified by:
postEdgeAdded
in interfaceGraphListener
- Parameters:
e
- the GraphEvent detailing the changes.
-
postEdgeRemoved
Called after an edge has been removed from the graph.- Specified by:
postEdgeRemoved
in interfaceGraphListener
- Parameters:
e
- the GraphEvent detailing the changes.
-
postEdgeReversed
Called after the edge has been reversed.- Specified by:
postEdgeReversed
in interfaceEdgeListener
- Parameters:
e
- the EdgeEvent detailing the changes.
-
postGraphCleared
Called after methodclear()
has been called on a graph. No other events (like remove events) are generated.- Specified by:
postGraphCleared
in interfaceGraphListener
- Parameters:
e
- the GraphEvent detailing the changes.
-
postInEdgeAdded
Called just after an incoming edge has been added to the node. (For undirected edges postUndirectedEdgeAdded is called instead.)- Parameters:
e
- The NodeEvent detailing the changes.
-
postInEdgeRemoved
Called after an incoming edge has been removed from the node. (For undirected edges postUndirectedEdgeRemoved is called.)- Parameters:
e
- The NodeEvent detailing the changes.
-
postNodeAdded
Called after an edge has been added to the graph.- Specified by:
postNodeAdded
in interfaceGraphListener
- Parameters:
e
- the GraphEvent detailing the changes.
-
postNodeRemoved
Called after a node has been removed from the graph. All edges incident to this node have already been removed (preEdgeRemoved and postEdgeRemoved have been called).- Specified by:
postNodeRemoved
in interfaceGraphListener
- Parameters:
e
- the GraphEvent detailing the changes.
-
postOutEdgeAdded
Called after an outgoing edge has been added to the node. (For undirected edges postUndirectedEdgeAdded is called instead.)- Parameters:
e
- The NodeEvent detailing the changes.
-
postOutEdgeRemoved
Called after an outgoing edge has been removed from the node. (For undirected edges postUndirectedEdgeRemoved is called.)- Parameters:
e
- The NodeEvent detailing the changes.
-
postSourceNodeChanged
Called after the source node of an edge has changed.- Specified by:
postSourceNodeChanged
in interfaceEdgeListener
- Parameters:
e
- the EdgeEvent detailing the changes.
-
postTargetNodeChanged
Called after the target node of an edge has changed.- Specified by:
postTargetNodeChanged
in interfaceEdgeListener
- Parameters:
e
- the EdgeEvent detailing the changes.
-
postUndirectedEdgeAdded
Called after an (undirected) edge has been added to the node. (For directed edges pre- In/Out- EdgeAdded is called.)- Specified by:
postUndirectedEdgeAdded
in interfaceNodeListener
- Parameters:
e
- The NodeEvent detailing the changes.
-
postUndirectedEdgeRemoved
Called after an (undirected) edge has been removed from the node. (For directed edges pre- In/Out- EdgeRemoved is called.)- Specified by:
postUndirectedEdgeRemoved
in interfaceNodeListener
- Parameters:
e
- The NodeEvent detailing the changes.
-
preAttributeAdded
Called just before an attribute is added.- Specified by:
preAttributeAdded
in interfaceAttributeListener
- Parameters:
e
- the AttributeEvent detailing the changes.
-
preAttributeChanged
Called before a change of an attribute takes place.- Specified by:
preAttributeChanged
in interfaceAttributeListener
- Parameters:
e
- the AttributeEvent detailing the changes.
-
preAttributeRemoved
Called just before an attribute is removed.- Specified by:
preAttributeRemoved
in interfaceAttributeListener
- Parameters:
e
- the AttributeEvent detailing the changes.
-
preDirectedChanged
Called before the edge is set directed or undirected.- Specified by:
preDirectedChanged
in interfaceEdgeListener
- Parameters:
e
- the EdgeEvent detailing the changes.
-
preEdgeAdded
Called just before an edge is added to the graph.- Specified by:
preEdgeAdded
in interfaceGraphListener
- Parameters:
e
- the GraphEvent detailing the changes.
-
preEdgeRemoved
Called just before an edge is removed from the graph.- Specified by:
preEdgeRemoved
in interfaceGraphListener
- Parameters:
e
- the GraphEvent detailing the changes.
-
preEdgeReversed
Called before the edge is going to be reversed.- Specified by:
preEdgeReversed
in interfaceEdgeListener
- Parameters:
e
- the EdgeEvent detailing the changes.
-
preGraphCleared
Called before methodclear()
is called on a graph. No other events (like remove events) are generated.- Specified by:
preGraphCleared
in interfaceGraphListener
- Parameters:
e
- the GraphEvent detailing the changes.
-
preInEdgeAdded
Called just before an incoming edge is added to the node. (For undirected edges preUndirectedEdgeAdded is called instead.)- Parameters:
e
- The NodeEvent detailing the changes.
-
preInEdgeRemoved
Called just before an incoming edge is removed from the node. (For undirected edges preUndirectedEdgeRemoved is called.)- Parameters:
e
- The NodeEvent detailing the changes.
-
preNodeAdded
Called just before a node is added to the graph.- Specified by:
preNodeAdded
in interfaceGraphListener
- Parameters:
e
- the GraphEvent detailing the changes.
-
preNodeRemoved
Called just before a node is removed from the graph. This method is called before the incident edges are deleted.- Specified by:
preNodeRemoved
in interfaceGraphListener
- Parameters:
e
- the GraphEvent detailing the changes.
-
preOutEdgeAdded
Called just before an outgoing edge is added to the node. (For undirected edges preUndirectedEdgeAdded is called instead.)- Parameters:
e
- The NodeEvent detailing the changes.
-
preOutEdgeRemoved
Called just before an outgoing edge is removed from the node. (For undirected edges preUndirectedEdgeRemoved is called.)- Parameters:
e
- The NodeEvent detailing the changes.
-
preSourceNodeChanged
Called before a change of the source node of an edge takes place.- Specified by:
preSourceNodeChanged
in interfaceEdgeListener
- Parameters:
e
- the EdgeEvent detailing the changes.
-
preTargetNodeChanged
Called before a change of the target node of an edge takes place.- Specified by:
preTargetNodeChanged
in interfaceEdgeListener
- Parameters:
e
- the EdgeEvent detailing the changes.
-
preUndirectedEdgeAdded
Called just before an (undirected) edge is added to the node. (For directed edges pre- In/Out- EdgeAdded is called.)- Specified by:
preUndirectedEdgeAdded
in interfaceNodeListener
- Parameters:
e
- The NodeEvent detailing the changes.
-
preUndirectedEdgeRemoved
Called just before an (undirected) edge is removed from the node. (For directed edges pre- In/Out- EdgeRemoved is called.)- Specified by:
preUndirectedEdgeRemoved
in interfaceNodeListener
- Parameters:
e
- The NodeEvent detailing the changes.
-
removeConstraint
Removes the specifiedGraphConstraint
from the set of constraints of this constraint checker.- Parameters:
c
- theGraphConstraint
to be removed.- Throws:
NoSuchElementException
- if the constraint checker does not contain thisGraphConstraint
in his set of constraints.
-
transactionFinished
public void transactionFinished(TransactionEvent e, BackgroundTaskStatusProviderSupportingExternalCall status)Called when a transaction has stopped.- Specified by:
transactionFinished
in interfaceTransactionListener
- Parameters:
e
- the EdgeEvent detailing the changes.
-
transactionStarted
Called when a transaction has started.- Specified by:
transactionStarted
in interfaceTransactionListener
- Parameters:
e
- the EdgeEvent detailing the changes.
-