org.apache.commons.collections4.set

## Interface CompositeSet.SetMutator<E>

- All Superinterfaces:
    Serializable
  Enclosing class:
    CompositeSet<E>

      public static interface CompositeSet.SetMutator<E>
      extends Serializable

  Define callbacks for mutation operations.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `add(CompositeSet<E> composite, List<Set<E>> sets, E obj)` Called when an object is to be added to the composite.
    `boolean` | `addAll(CompositeSet<E> composite, List<Set<E>> sets, Collection<? extends E> coll)` Called when a collection is to be added to the composite.
    `void` | `resolveCollision(CompositeSet<E> comp, Set<E> existing, Set<E> added, Collection<E> intersects)` Called when a Set is added to the CompositeSet and there is a collision between existing and added sets.

- - ### Method Detail

    - #### add

          boolean add(CompositeSet<E> composite,
                      List<Set<E>> sets,
                      E obj)

      Called when an object is to be added to the composite.
      Parameters:
        `composite` - the CompositeSet being changed
        `sets` - all of the Set instances in this CompositeSet
        `obj` - the object being added
      Returns:
        true if the collection is changed
      Throws:
        `UnsupportedOperationException` - if add is unsupported
        `ClassCastException` - if the object cannot be added due to its type
        `NullPointerException` - if the object cannot be added because its null
        `IllegalArgumentException` - if the object cannot be added

    - #### addAll

          boolean addAll(CompositeSet<E> composite,
                         List<Set<E>> sets,
                         Collection<? extends E> coll)

      Called when a collection is to be added to the composite.
      Parameters:
        `composite` - the CompositeSet being changed
        `sets` - all of the Set instances in this CompositeSet
        `coll` - the collection being added
      Returns:
        true if the collection is changed
      Throws:
        `UnsupportedOperationException` - if add is unsupported
        `ClassCastException` - if the object cannot be added due to its type
        `NullPointerException` - if the object cannot be added because its null
        `IllegalArgumentException` - if the object cannot be added

    - #### resolveCollision

          void resolveCollision(CompositeSet<E> comp,
                                Set<E> existing,
                                Set<E> added,
                                Collection<E> intersects)

      Called when a Set is added to the CompositeSet and there is a collision between existing and added sets.

      If `added` and `existing` still have any intersects after this method returns an IllegalArgumentException will be thrown.

      Parameters:
        `comp` - the CompositeSet being modified
        `existing` - the Set already existing in the composite
        `added` - the Set being added to the composite
        `intersects` - the intersection of the existing and added sets

Copyright © 2001–2019 The Apache Software Foundation. All rights reserved.