public final class InstancesDiff
extends java.lang.Object
InstancesDiff allows to combine and filter two collections of InstanceDescription instances,
 an "old" collection and a "new" collection.
 The comparison between InstanceDescription instances is done only on the basis of the Sling identifier.
 Two instances with the same Sling identifier are considered as equal.
 Note: Each collection must contain only unique instances (no two instances with the same Sling identifier).
 Using the InstancesDiff with collections containing duplicated Sling id
 will throw an IllegalArgumentException.
| Modifier and Type | Class and Description | 
|---|---|
| class  | InstancesDiff.InstanceCollectionThe  InstanceCollectioncollection allows to filter the instances using a set of custom filter
 either implementingInstanceFilteror pre-defined ones. | 
| Constructor and Description | 
|---|
| InstancesDiff(@NotNull ClusterView oldView,
             @NotNull ClusterView newView)Create a new  InstancesDiffbased on the instances from the old and
 newClusterViewcluster views provided. | 
| InstancesDiff(@NotNull java.util.Collection<T> oldInstances,
             @NotNull java.util.Collection<T> newInstances)Create a new  InstancesDiffbased on the provided old and
 newCollectioncollections of instances. | 
| InstancesDiff(@NotNull TopologyEvent event)Create a new  InstancesDiffbased on the instances from the old and
 newTopologyViewtopology views contained in theTopologyEventevent provided. | 
| InstancesDiff(@NotNull TopologyView oldView,
             @NotNull TopologyView newView)Create a new  InstancesDiffbased on the instances from the old and
 newTopologyViewtopology views provided. | 
| Modifier and Type | Method and Description | 
|---|---|
| @NotNull InstancesDiff.InstanceCollection | added()Returns the  InstanceCollectioncollection containing theInstanceDescriptioninstances that are
 contained in the new collection but not in the old collection. | 
| @NotNull InstancesDiff.InstanceCollection | all(boolean retainFromNewCollection)Returns the  InstanceSetset containing theInstanceDescriptioninstances that are
 contained in either the old or the new collection. | 
| @NotNull InstancesDiff.InstanceCollection | removed()Returns the  InstanceCollectioncollection containing theInstanceDescriptioninstances that are
 contained in the old collection but not in the new collection. | 
| @NotNull InstancesDiff.InstanceCollection | retained(boolean retainFromNewCollection)Returns the  InstanceSetcollection containing theInstanceDescriptioninstances that are
 contained in both the old collection and the new collection. | 
| @NotNull InstancesDiff.InstanceCollection | retained(boolean retainFromNewCollection,
        boolean propertyChanged)Returns the  InstanceCollectioncollection containing theInstanceDescriptioninstances that are
 contained in both the old and the new collections. | 
public InstancesDiff(@NotNull
                     @NotNull TopologyEvent event)
InstancesDiff based on the instances from the old and
 new TopologyView topology views contained in the TopologyEvent event provided.event - the non null event from which the old and new topology views are used for computing.
              If either of the topology views are null, then they will be substituted by an
              empty collection of instances.java.lang.IllegalArgumentException - if either of the collections contains duplicated Sling identifiers.public InstancesDiff(@NotNull
                     @NotNull TopologyView oldView,
                     @NotNull
                     @NotNull TopologyView newView)
InstancesDiff based on the instances from the old and
 new TopologyView topology views provided.oldView - the non null old topology view from which the old collection is used for computing.newView - the non null new topology view form which the new collection is used for computing.java.lang.IllegalArgumentException - if either of the collections contains duplicated Sling identifiers.public InstancesDiff(@NotNull
                     @NotNull ClusterView oldView,
                     @NotNull
                     @NotNull ClusterView newView)
InstancesDiff based on the instances from the old and
 new ClusterView cluster views provided.oldView - the non null old cluster view used for computing.newView - the non null new cluster view used for computing.java.lang.IllegalArgumentException - if either of the collections contains duplicated Sling identifiers.public InstancesDiff(@NotNull
                     @NotNull java.util.Collection<T> oldInstances,
                     @NotNull
                     @NotNull java.util.Collection<T> newInstances)
InstancesDiff based on the provided old and
 new Collection collections of instances.T - the type of instance which must extend InstanceDescription.oldInstances - the non null old collection of instances used for computing.newInstances - the non null new collection of instances used for computing.java.lang.IllegalArgumentException - if either of the collections contains duplicated Sling identifiers.@NotNull public @NotNull InstancesDiff.InstanceCollection all(boolean retainFromNewCollection)
InstanceSet set containing the InstanceDescription instances that are
 contained in either the old or the new collection.
 For InstanceDescription instances contained in both the old and
 the new collections, the method will retain those from either of the collections
 depending on the parameter #retainFromNewView.
retainFromNewCollection - true in order to retain the instances from the new collection ;
                          false in order to retain the instances from the old collection.InstanceCollection collection containing the InstanceDescription instances
         from both collections.@NotNull public @NotNull InstancesDiff.InstanceCollection added()
InstanceCollection collection containing the InstanceDescription instances that are
 contained in the new collection but not in the old collection.InstanceCollection collection containing the instances in the new
         topology collection but not in the old collection.@NotNull public @NotNull InstancesDiff.InstanceCollection removed()
InstanceCollection collection containing the InstanceDescription instances that are
 contained in the old collection but not in the new collection.InstanceSet set containing the instances in the old collection but not in the new collection.@NotNull public @NotNull InstancesDiff.InstanceCollection retained(boolean retainFromNewCollection)
InstanceSet collection containing the InstanceDescription instances that are
 contained in both the old collection and the new collection.
 The method will retain the InstanceDescription instances from either of the collections
 depending on the parameter #retainFromNewView.
retainFromNewCollection - true in order to retain the instances from the new collection ;
                                false in order to retain the instances from the old collection.InstanceCollection collection containing the InstanceDescription instances
         contained in both collections.@NotNull public @NotNull InstancesDiff.InstanceCollection retained(boolean retainFromNewCollection, boolean propertyChanged)
InstanceCollection collection containing the InstanceDescription instances that are
 contained in both the old and the new collections.
 The method will retain the InstanceDescription instances from either of the collections
 depending on the parameter #retainFromNewView.
retainFromNewCollection - true in order to retain the instances from the new collection ;
                                false in order to retain the instances from the old collection.propertyChanged - true in order to keep only the instances which
                        properties have changed between the old and new collections ;
                        false in order to keep only the instances which properties have not changed.InstanceCollection collection containing the InstanceDescription instances
         contained in both views.Copyright © 2022 The Apache Software Foundation. All rights reserved.