org.apache.commons.collections4.bag

## Class SynchronizedSortedBag<E>

- java.lang.Object
- - org.apache.commons.collections4.collection.SynchronizedCollection<E>
  - - org.apache.commons.collections4.bag.SynchronizedBag<E>
    - - org.apache.commons.collections4.bag.SynchronizedSortedBag<E>

- 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
  Version:
    $Id: SynchronizedSortedBag.java 1479399 2013-05-05 21:46:48Z tn $
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class org.apache.commons.collections4.collection.SynchronizedCollection

      `lock`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `SynchronizedSortedBag(Bag<E> bag, Object lock)` Constructor that wraps (not copies).
    `protected` | `SynchronizedSortedBag(SortedBag<E> bag)` Constructor that wraps (not copies).

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Comparator<? super E>` | `comparator()` Returns the comparator associated with this sorted set, or null if it uses its elements' natural ordering.
    `E` | `first()` Returns the first (lowest) member.
    `protected SortedBag<E>` | `getSortedBag()` Gets the bag being decorated.
    `E` | `last()` Returns the last (highest) member.
    `static <E> SynchronizedSortedBag<E>` | `synchronizedSortedBag(SortedBag<E> bag)` Factory method to create a synchronized sorted bag.

    - ### Methods inherited from class org.apache.commons.collections4.bag.SynchronizedBag

      `add, getBag, getCount, remove, synchronizedBag, uniqueSet`

    - ### Methods inherited from class org.apache.commons.collections4.collection.SynchronizedCollection

      `add, addAll, clear, contains, containsAll, decorated, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, synchronizedCollection, toArray, toArray, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.apache.commons.collections4.Bag

      `add, add, containsAll, getCount, iterator, remove, remove, removeAll, retainAll, size, uniqueSet`

    - ### Methods inherited from interface java.util.Collection

      `addAll, clear, contains, equals, hashCode, isEmpty, toArray, toArray`

- - ### Constructor Detail

    - #### SynchronizedSortedBag

          protected SynchronizedSortedBag(SortedBag<E> 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<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:
        `IllegalArgumentException` - if bag 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:
        `IllegalArgumentException` - 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

Copyright © 2001–2013 The Apache Software Foundation. All rights reserved.