Class DeltaSet

    • Constructor Detail

      • DeltaSet

        public DeltaSet​(Set set)
        Construct this set based on an existing set.
        Parameters:
        set - the set to base this delta set on
    • Method Detail

      • getOriginal

        public Set getOriginal()
        Determine what items were in the original set.
        Returns:
        the set used to construct this DeltaSet
      • isModified

        public boolean isModified()
        Determine if any items were added or removed.
        Returns:
        true if the set has been modified
      • getAdded

        public Set getAdded()
        Determine what items were added to the delta set.
        Returns:
        an immutable set of added items
      • getRemoved

        public Set getRemoved()
        Determine what items were removed from the delta set.
        Returns:
        an immutable set of removed items
      • ensureAdded

        protected Set ensureAdded()
        Get a mutable set of items that were added to the delta set.
        Returns:
        a mutable set of added items
      • ensureRemoved

        protected Set ensureRemoved()
        Get a mutable set of items that were removed from the delta set.
        Returns:
        a mutable set of removed items
      • resolve

        public void resolve()
        Apply the changes to the underlying set ("commit").
      • reset

        public void reset()
        Discard the changes to the set ("rollback").
      • size

        public int size()
        Returns the number of elements in this Collection.
        Specified by:
        size in interface Collection
        Specified by:
        size in interface Set
        Specified by:
        size in class AbstractCollection
        Returns:
        the number of elements in this Collection
      • contains

        public boolean contains​(Object o)
        Returns true if this Collection contains the specified element. More formally, returns true if and only if this Collection contains at least one element e such that (o==null ? e==null : o.equals(e)).
        Specified by:
        contains in interface Collection
        Specified by:
        contains in interface Set
        Overrides:
        contains in class AbstractCollection
        Parameters:
        o - the object to search for in the set
        Returns:
        true if this set contains the specified object
      • add

        public boolean add​(Object o)
        Ensures that this Collection contains the specified element.
        Specified by:
        add in interface Collection
        Specified by:
        add in interface Set
        Overrides:
        add in class AbstractCollection
        Parameters:
        o - element whose presence in this Collection is to be ensured
        Returns:
        true if the Collection changed as a result of the call
      • remove

        public boolean remove​(Object o)
        Removes a single instance of the specified element from this Collection, if it is present (optional operation). More formally, removes an element e such that (o==null ? e==null : o.equals(e)), if the Collection contains one or more such elements. Returns true if the Collection contained the specified element (or equivalently, if the Collection changed as a result of the call).
        Specified by:
        remove in interface Collection
        Specified by:
        remove in interface Set
        Overrides:
        remove in class AbstractCollection
        Parameters:
        o - element to be removed from this Collection, if present
        Returns:
        true if the Collection contained the specified element
      • toArray

        public Object[] toArray()
        Returns an array containing all of the elements in this Set. Obeys the general contract of Collection.toArray.
        Specified by:
        toArray in interface Collection
        Specified by:
        toArray in interface Set
        Overrides:
        toArray in class AbstractCollection
        Returns:
        an Object array containing all of the elements in this Set
      • clone

        public Object clone()
        Clone the delta set.
        Overrides:
        clone in class Object
        Returns:
        a clone of this delta set