# Interface GraphDiff

All Superinterfaces:
  `Serializable`

All Known Implementing Classes:
  `ArcCreateOperation, ArcDeleteOperation, CompoundDiff, NodeCreateOperation, NodeDeleteOperation, NodeDiff, NodeIdChangeOperation, NodePropertyChangeOperation, ObjectDiff, ObjectStoreGraphDiff`

public interface GraphDiff extends Serializable
Represents a change in an object graph. This can be a simple change (like a node property update) or a composite change that consists of a number of smaller changes.

Since:
  1.2

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `apply(GraphChangeHandler handler)`
  Calls appropriate methods on the handler to "replay" this change.
  `boolean`
  `isNoop()`
  Returns true if this diff is simply a placeholder and does not perform any actual operation.
  `void`
  `undo(GraphChangeHandler handler)`
  Calls appropriate methods on the handler to revert this change.

- ## Method Details

  - ### isNoop

    boolean isNoop()
    Returns true if this diff is simply a placeholder and does not perform any actual operation.

  - ### apply

    void apply(GraphChangeHandler handler)
    Calls appropriate methods on the handler to "replay" this change.

  - ### undo

    void undo(GraphChangeHandler handler)
    Calls appropriate methods on the handler to revert this change.