Class SynchronizedSortedBag<E>

  • Type Parameters:
    E - the type of elements in this bag
    All Implemented Interfaces:
    Serializable, Iterable<E>, Collection<E>, Bag<E>, SortedBag<E>

    public class SynchronizedSortedBag<E>
    extends SynchronizedBag<E>
    implements SortedBag<E>
    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:
    3.0
    See Also:
    Serialized Form
    • Constructor Detail

      • SynchronizedSortedBag

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

        protected SynchronizedSortedBag​(Bag<E> 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:
        NullPointerException - if bag or lock is null
    • Method Detail

      • synchronizedSortedBag

        public static <E> SynchronizedSortedBag<E> synchronizedSortedBag​(SortedBag<E> bag)
        Factory method to create a synchronized sorted bag.
        Type Parameters:
        E - the type of the elements in the bag
        Parameters:
        bag - the bag to decorate, must not be null
        Returns:
        a new synchronized SortedBag
        Throws:
        NullPointerException - if bag is null
        Since:
        4.0
      • getSortedBag

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

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

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

        public Comparator<? super E> 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<E>
        Returns:
        the comparator in use, or null if natural ordering