Class SynchronizedSortedBag

  • All Implemented Interfaces:
    Serializable, Iterable, Collection, Bag, SortedBag

    public class SynchronizedSortedBag
    extends SynchronizedBag
    implements SortedBag
    Decorates another SortedBag to synchronize its behaviour for a multi-threaded environment.

    Methods are synchronized, then forwarded to the decorated bag. Iterators must be separately synchronized around the loop.

    This class is Serializable from Commons Collections 3.1.

    Since:
    Commons Collections 3.0
    Version:
    $Revision: 646777 $ $Date: 2008-04-10 14:33:15 +0200 (Thu, 10 Apr 2008) $
    Author:
    Stephen Colebourne
    See Also:
    Serialized Form
    • Constructor Detail

      • SynchronizedSortedBag

        protected SynchronizedSortedBag​(SortedBag bag)
        Constructor that wraps (not copies).
        Parameters:
        bag - the bag to decorate, must not be null
        Throws:
        IllegalArgumentException - if bag is null
      • SynchronizedSortedBag

        protected SynchronizedSortedBag​(Bag bag,
                                        Object lock)
        Constructor that wraps (not copies).
        Parameters:
        bag - the bag to decorate, must not be null
        lock - the lock to use, must not be null
        Throws:
        IllegalArgumentException - if bag is null
    • Method Detail

      • decorate

        public static SortedBag decorate​(SortedBag bag)
        Factory method to create a synchronized sorted bag.
        Parameters:
        bag - the bag to decorate, must not be null
        Returns:
        a new synchronized SortedBag
        Throws:
        IllegalArgumentException - if bag is null
      • getSortedBag

        protected SortedBag getSortedBag()
        Gets the bag being decorated.
        Returns:
        the decorated bag
      • first

        public Object first()
        Description copied from interface: SortedBag
        Returns the first (lowest) member.
        Specified by:
        first in interface SortedBag
        Returns:
        the first element in the sorted bag
      • last

        public Object last()
        Description copied from interface: SortedBag
        Returns the last (highest) member.
        Specified by:
        last in interface SortedBag
        Returns:
        the last element in the sorted bag
      • comparator

        public Comparator comparator()
        Description copied from interface: SortedBag
        Returns the comparator associated with this sorted set, or null if it uses its elements' natural ordering.
        Specified by:
        comparator in interface SortedBag
        Returns:
        the comparator in use, or null if natural ordering