Package org.apache.cayenne.graph

## 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`, `ObjectDiff`

      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

    All Methods Instance Methods Abstract Methods Concrete Methods
    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 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>`