Package com.xebialabs.xlrelease.utils

## Class Diff<K,​A>

- java.lang.Object
- - com.xebialabs.xlrelease.utils.Diff<K,​A>

- All Implemented Interfaces:
    `java.io.Serializable`, `scala.Equals`, `scala.Product`

      public class Diff<K,​A>
      extends java.lang.Object
      implements scala.Product, java.io.Serializable

  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Diff()` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `scala.collection.immutable.Map<K,​A>` | `after()` |
    `static <K,​A> Diff<K,​A>` | `apply​(scala.collection.immutable.Map<K,​A> before, scala.collection.immutable.Map<K,​A> after)` |
    `static <K,​A> Diff<K,​A>` | `apply​(scala.collection.immutable.Map<K,​A> before, scala.collection.immutable.Map<K,​A> after, scala.Function2<A,​A,​java.lang.Object> areEqual)` |
    `static <A> Diff<A,​A>` | `apply​(scala.collection.Iterable<A> before, scala.collection.Iterable<A> after)` |
    `static <K,​A> scala.Function2<A,​A,​java.lang.Object>` | `apply$default$3()` |
    `static <K,​A> Diff<K,​A>` | `applyWithKeyMapping​(java.util.List<A> before, java.util.List<A> after, scala.Function1<A,​K> keyMapping)` |
    `static <K,​A> Diff<K,​A>` | `applyWithKeyMapping​(scala.collection.Iterable<A> before, scala.collection.Iterable<A> after, scala.Function1<A,​K> keyMapping)` |
    `static <K,​A> Diff<K,​A>` | `applyWithKeyMappingAndComparator​(scala.collection.Iterable<A> before, scala.collection.Iterable<A> after, scala.Function1<A,​K> keyMapping, scala.Function2<A,​A,​java.lang.Object> areEqual)` |
    `scala.Function2<A,​A,​java.lang.Object>` | `areEqual()` |
    `scala.collection.immutable.Map<K,​A>` | `before()` |
    `boolean` | `canEqual​(java.lang.Object x$1)` |
    `<K,​A> Diff<K,​A>` | `copy​(scala.collection.immutable.Map<K,​A> before, scala.collection.immutable.Map<K,​A> after, scala.Function2<A,​A,​java.lang.Object> areEqual)` |
    `<K,​A> scala.collection.immutable.Map<K,​A>` | `copy$default$1()` |
    `<K,​A> scala.collection.immutable.Map<K,​A>` | `copy$default$2()` |
    `<K,​A> scala.Function2<A,​A,​java.lang.Object>` | `copy$default$3()` |
    `scala.collection.immutable.ListMap<K,​A>` | `deletedEntries()` |
    `scala.collection.immutable.Set<K>` | `deletedKeys()` |
    `scala.collection.Iterable<A>` | `deletedValues()` |
    `boolean` | `equals​(java.lang.Object x$1)` |
    `<B> B` | `fold​(B init, scala.Function2<B,​scala.Tuple2<K,​A>,​B> onNew, scala.Function2<B,​scala.Tuple2<K,​scala.Tuple2<A,​A>>,​B> onUpdated, scala.Function2<B,​scala.Tuple2<K,​A>,​B> onDeleted)` |
    `void` | `foreach​(scala.Function2<K,​A,​scala.runtime.BoxedUnit> onNew, scala.Function2<K,​scala.Tuple2<A,​A>,​scala.runtime.BoxedUnit> onUpdated, scala.Function2<K,​A,​scala.runtime.BoxedUnit> onDeleted)` |
    `void` | `foreachValue​(scala.Function1<A,​scala.runtime.BoxedUnit> onNew, scala.Function1<A,​scala.runtime.BoxedUnit> onUpdated, scala.Function1<A,​scala.runtime.BoxedUnit> onDeleted)` |
    `int` | `hashCode()` |
    `scala.collection.immutable.ListMap<K,​A>` | `newEntries()` |
    `scala.collection.immutable.Set<K>` | `newKeys()` |
    `scala.collection.Iterable<A>` | `newValues()` |
    `int` | `productArity()` |
    `java.lang.Object` | `productElement​(int x$1)` |
    `java.lang.String` | `productElementName​(int x$1)` |
    `scala.collection.Iterator<java.lang.Object>` | `productIterator()` |
    `java.lang.String` | `productPrefix()` |
    `java.lang.String` | `toString()` |
    `static <K,​A> scala.Option<scala.Tuple3<scala.collection.immutable.Map<K,​A>,​scala.collection.immutable.Map<K,​A>,​scala.Function2<A,​A,​java.lang.Object>>>` | `unapply​(Diff<K,​A> x$0)` |
    `scala.collection.immutable.ListMap<K,​scala.Tuple2<A,​A>>` | `updatedEntries()` |
    `scala.collection.immutable.Set<K>` | `updatedKeys()` |
    `scala.collection.Iterable<scala.Tuple2<A,​A>>` | `updatedPairs()` |
    `scala.collection.Iterable<A>` | `updatedValues()` |

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface scala.Product

      `productElementNames`

- - ### Constructor Detail

    - #### Diff

          public Diff()

  - ### Method Detail

    - #### apply

          public static <K,​A> Diff<K,​A> apply​(scala.collection.immutable.Map<K,​A> before,
                                                          scala.collection.immutable.Map<K,​A> after)

    - #### apply

          public static <A> Diff<A,​A> apply​(scala.collection.Iterable<A> before,
                                                  scala.collection.Iterable<A> after)

    - #### apply$default$3

          public static <K,​A> scala.Function2<A,​A,​java.lang.Object> apply$default$3()

    - #### applyWithKeyMapping

          public static <K,​A> Diff<K,​A> applyWithKeyMapping​(scala.collection.Iterable<A> before,
                                                                        scala.collection.Iterable<A> after,
                                                                        scala.Function1<A,​K> keyMapping)

    - #### applyWithKeyMapping

          public static <K,​A> Diff<K,​A> applyWithKeyMapping​(java.util.List<A> before,
                                                                        java.util.List<A> after,
                                                                        scala.Function1<A,​K> keyMapping)

    - #### applyWithKeyMappingAndComparator

          public static <K,​A> Diff<K,​A> applyWithKeyMappingAndComparator​(scala.collection.Iterable<A> before,
                                                                                     scala.collection.Iterable<A> after,
                                                                                     scala.Function1<A,​K> keyMapping,
                                                                                     scala.Function2<A,​A,​java.lang.Object> areEqual)

    - #### apply

          public static <K,​A> Diff<K,​A> apply​(scala.collection.immutable.Map<K,​A> before,
                                                          scala.collection.immutable.Map<K,​A> after,
                                                          scala.Function2<A,​A,​java.lang.Object> areEqual)

    - #### unapply

          public static <K,​A> scala.Option<scala.Tuple3<scala.collection.immutable.Map<K,​A>,​scala.collection.immutable.Map<K,​A>,​scala.Function2<A,​A,​java.lang.Object>>> unapply​(Diff<K,​A> x$0)

    - #### before

          public scala.collection.immutable.Map<K,​A> before()

    - #### after

          public scala.collection.immutable.Map<K,​A> after()

    - #### areEqual

          public scala.Function2<A,​A,​java.lang.Object> areEqual()

    - #### deletedEntries

          public scala.collection.immutable.ListMap<K,​A> deletedEntries()

    - #### newEntries

          public scala.collection.immutable.ListMap<K,​A> newEntries()

    - #### updatedEntries

          public scala.collection.immutable.ListMap<K,​scala.Tuple2<A,​A>> updatedEntries()

    - #### deletedKeys

          public scala.collection.immutable.Set<K> deletedKeys()

    - #### newKeys

          public scala.collection.immutable.Set<K> newKeys()

    - #### updatedKeys

          public scala.collection.immutable.Set<K> updatedKeys()

    - #### deletedValues

          public scala.collection.Iterable<A> deletedValues()

    - #### newValues

          public scala.collection.Iterable<A> newValues()

    - #### updatedPairs

          public scala.collection.Iterable<scala.Tuple2<A,​A>> updatedPairs()

    - #### updatedValues

          public scala.collection.Iterable<A> updatedValues()

    - #### fold

          public <B> B fold​(B init,
                            scala.Function2<B,​scala.Tuple2<K,​A>,​B> onNew,
                            scala.Function2<B,​scala.Tuple2<K,​scala.Tuple2<A,​A>>,​B> onUpdated,
                            scala.Function2<B,​scala.Tuple2<K,​A>,​B> onDeleted)

    - #### foreach

          public void foreach​(scala.Function2<K,​A,​scala.runtime.BoxedUnit> onNew,
                              scala.Function2<K,​scala.Tuple2<A,​A>,​scala.runtime.BoxedUnit> onUpdated,
                              scala.Function2<K,​A,​scala.runtime.BoxedUnit> onDeleted)

    - #### foreachValue

          public void foreachValue​(scala.Function1<A,​scala.runtime.BoxedUnit> onNew,
                                   scala.Function1<A,​scala.runtime.BoxedUnit> onUpdated,
                                   scala.Function1<A,​scala.runtime.BoxedUnit> onDeleted)

    - #### copy

          public <K,​A> Diff<K,​A> copy​(scala.collection.immutable.Map<K,​A> before,
                                                  scala.collection.immutable.Map<K,​A> after,
                                                  scala.Function2<A,​A,​java.lang.Object> areEqual)

    - #### copy$default$1

          public <K,​A> scala.collection.immutable.Map<K,​A> copy$default$1()

    - #### copy$default$2

          public <K,​A> scala.collection.immutable.Map<K,​A> copy$default$2()

    - #### copy$default$3

          public <K,​A> scala.Function2<A,​A,​java.lang.Object> copy$default$3()

    - #### productPrefix

          public java.lang.String productPrefix()

      Specified by:
        `productPrefix` in interface `scala.Product`

    - #### productArity

          public int productArity()

      Specified by:
        `productArity` in interface `scala.Product`

    - #### productElement

          public java.lang.Object productElement​(int x$1)

      Specified by:
        `productElement` in interface `scala.Product`

    - #### productIterator

          public scala.collection.Iterator<java.lang.Object> productIterator()

      Specified by:
        `productIterator` in interface `scala.Product`

    - #### canEqual

          public boolean canEqual​(java.lang.Object x$1)

      Specified by:
        `canEqual` in interface `scala.Equals`

    - #### productElementName

          public java.lang.String productElementName​(int x$1)

      Specified by:
        `productElementName` in interface `scala.Product`

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### equals

          public boolean equals​(java.lang.Object x$1)

      Specified by:
        `equals` in interface `scala.Equals`
      Overrides:
        `equals` in class `java.lang.Object`