org.apache.cayenne.graph

## Class CompoundDiff

- java.lang.Object
- - org.apache.cayenne.graph.CompoundDiff

- All Implemented Interfaces:
    Serializable, GraphDiff

      public class CompoundDiff
      extends Object
      implements GraphDiff

  A GraphDiff that is a list of other GraphDiffs.
  Since:
    1.2
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected List<GraphDiff>` | `diffs`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CompoundDiff()` Creates an empty CompoundDiff instance.
    `CompoundDiff(List<GraphDiff> diffs)` Creates CompoundDiff instance.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `add(GraphDiff diff)`
    `void` | `addAll(Collection<? extends GraphDiff> diffs)`
    `void` | `apply(GraphChangeHandler tracker)` Iterates over diffs list, calling "apply" on each individual diff.
    `List<GraphDiff>` | `getDiffs()`
    `boolean` | `isNoop()` Returns true if this diff has no other diffs or if all of its diffs are noops.
    `void` | `undo(GraphChangeHandler tracker)` Iterates over diffs list in reverse order, calling "apply" on each individual diff.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### diffs

          protected List<GraphDiff> diffs

  - ### Constructor Detail

    - #### CompoundDiff

          public CompoundDiff()

      Creates an empty CompoundDiff instance.

    - #### CompoundDiff

          public CompoundDiff(List<GraphDiff> diffs)

      Creates CompoundDiff instance. Note that a List is not cloned in this constructor, so subsequent calls to add and addAll would modify the original list.

  - ### Method Detail

    - #### isNoop

          public boolean isNoop()

      Returns true if this diff has no other diffs or if all of its diffs are noops.
      Specified by:
        `isNoop` in interface `GraphDiff`

    - #### getDiffs

          public List<GraphDiff> getDiffs()

    - #### add

          public void add(GraphDiff diff)

    - #### addAll

          public void addAll(Collection<? extends GraphDiff> diffs)

    - #### apply

          public void apply(GraphChangeHandler tracker)

      Iterates over diffs list, calling "apply" on each individual diff.
      Specified by:
        `apply` in interface `GraphDiff`

    - #### undo

          public void undo(GraphChangeHandler tracker)

      Iterates over diffs list in reverse order, calling "apply" on each individual diff.
      Specified by:
        `undo` in interface `GraphDiff`

Copyright © 2001–2023 Apache Cayenne. All rights reserved.