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:
  • Constructor Details

    • 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 Details

    • 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