Class NodeDiff

java.lang.Object
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

    Fields
    Modifier and Type Field Description
    protected int diffId  
    protected Object nodeId  
  • Constructor Summary

    Constructors
    Constructor Description
    NodeDiff​(Object nodeId)  
    NodeDiff​(Object nodeId, int diffId)  
  • Method Summary

    Modifier and Type Method Description
    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 Details

    • diffId

      protected int diffId
    • nodeId

      protected Object nodeId
  • Constructor Details

    • NodeDiff

      public NodeDiff​(Object nodeId)
    • NodeDiff

      public NodeDiff​(Object nodeId, int diffId)
  • Method Details

    • 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>