org.apache.cayenne.graph
Class NodeDiff

java.lang.Object
  extended by org.apache.cayenne.graph.NodeDiff
All Implemented Interfaces:
Serializable, Comparable<NodeDiff>, GraphDiff
Direct Known Subclasses:
ArcCreateOperation, ArcDeleteOperation, NodeCreateOperation, NodeDeleteOperation, NodeIdChangeOperation, NodePropertyChangeOperation

public abstract class NodeDiff
extends Object
implements GraphDiff, Comparable<NodeDiff>

An abstract superclass of operations on individual nodes and arcs in a digraph.

Since:
1.2
See Also:
Serialized Form

Field Summary
protected  int diffId
           
protected  Object nodeId
           
 
Constructor Summary
NodeDiff(Object nodeId)
           
NodeDiff(Object nodeId, int diffId)
           
 
Method Summary
abstract  void apply(GraphChangeHandler tracker)
          Calls appropriate methods on the handler to "replay" this change.
 int compareTo(NodeDiff o)
          Implements a Comparable interface method to compare based on diffId property.
 int getDiffId()
          Returns an id of this diff that can be used for various purposes, such as identifying the order of the diff in a sequence.
 Object getNodeId()
           
 boolean isNoop()
          Returns true if this diff is simply a placeholder and does not perform any actual operation.
 void setDiffId(int diffId)
          Sets an id of this diff that can be used for various purposes, such as identifying the order of the diff in a sequence.
abstract  void undo(GraphChangeHandler tracker)
          Calls appropriate methods on the handler to revert this change.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

diffId

protected int diffId

nodeId

protected Object nodeId
Constructor Detail

NodeDiff

public NodeDiff(Object nodeId)

NodeDiff

public NodeDiff(Object nodeId,
                int diffId)
Method Detail

isNoop

public boolean isNoop()
Description copied from interface: GraphDiff
Returns true if this diff is simply a placeholder and does not perform any actual operation.

Specified by:
isNoop in interface GraphDiff

apply

public abstract void apply(GraphChangeHandler tracker)
Description copied from interface: GraphDiff
Calls appropriate methods on the handler to "replay" this change.

Specified by:
apply in interface GraphDiff

undo

public abstract void undo(GraphChangeHandler tracker)
Description copied from interface: GraphDiff
Calls appropriate methods on the handler to revert this change.

Specified by:
undo in interface GraphDiff

getNodeId

public Object getNodeId()

getDiffId

public int getDiffId()
Returns an id of this diff that can be used for various purposes, such as identifying the order of the diff in a sequence.


setDiffId

public void setDiffId(int diffId)
Sets an id of this diff that can be used for various purposes, such as identifying the order of the diff in a sequence.


compareTo

public int compareTo(NodeDiff o)
Implements a Comparable interface method to compare based on diffId property.

Specified by:
compareTo in interface Comparable<NodeDiff>


Copyright © 2001-2011 Apache Cayenne. All Rights Reserved.