org.apache.commons.collections4.collection
Class UnmodifiableBoundedCollection<E>

java.lang.Object
  extended by org.apache.commons.collections4.collection.AbstractCollectionDecorator<E>
      extended by org.apache.commons.collections4.collection.UnmodifiableBoundedCollection<E>
All Implemented Interfaces:
Serializable, Iterable<E>, Collection<E>, BoundedCollection<E>

public final class UnmodifiableBoundedCollection<E>
extends AbstractCollectionDecorator<E>
implements BoundedCollection<E>

UnmodifiableBoundedCollection decorates another BoundedCollection to ensure it can't be altered.

If a BoundedCollection is first wrapped in some other collection decorator, such as synchronized or predicated, the BoundedCollection methods are no longer accessible. The factory on this class will attempt to retrieve the bounded nature by examining the package scope variables.

This class is Serializable from Commons Collections 3.1.

Attempts to modify it will result in an UnsupportedOperationException.

Since:
3.0
Version:
$Id: UnmodifiableBoundedCollection.java 1494280 2013-06-18 20:07:04Z tn $
See Also:
Serialized Form

Method Summary
 boolean add(E object)
           
 boolean addAll(Collection<? extends E> coll)
           
 void clear()
           
protected  BoundedCollection<E> decorated()
          Gets the collection being decorated.
 boolean isFull()
          Returns true if this collection is full and no new elements can be added.
 Iterator<E> iterator()
           
 int maxSize()
          Gets the maximum size of the collection (the bound).
 boolean remove(Object object)
           
 boolean removeAll(Collection<?> coll)
           
 boolean retainAll(Collection<?> coll)
           
static
<E> BoundedCollection<E>
unmodifiableBoundedCollection(BoundedCollection<E> coll)
          Factory method to create an unmodifiable bounded collection.
static
<E> BoundedCollection<E>
unmodifiableBoundedCollection(Collection<? extends E> coll)
          Factory method to create an unmodifiable bounded collection.
 
Methods inherited from class org.apache.commons.collections4.collection.AbstractCollectionDecorator
contains, containsAll, equals, hashCode, isEmpty, setCollection, size, toArray, toArray, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Collection
contains, containsAll, equals, hashCode, isEmpty, size, toArray, toArray
 

Method Detail

unmodifiableBoundedCollection

public static <E> BoundedCollection<E> unmodifiableBoundedCollection(BoundedCollection<E> coll)
Factory method to create an unmodifiable bounded collection.

Type Parameters:
E - the type of the elements in the collection
Parameters:
coll - the BoundedCollection to decorate, must not be null
Returns:
a new unmodifiable bounded collection
Throws:
IllegalArgumentException - if coll is null
Since:
4.0

unmodifiableBoundedCollection

public static <E> BoundedCollection<E> unmodifiableBoundedCollection(Collection<? extends E> coll)
Factory method to create an unmodifiable bounded collection.

This method is capable of drilling down through up to 1000 other decorators to find a suitable BoundedCollection.

Type Parameters:
E - the type of the elements in the collection
Parameters:
coll - the BoundedCollection to decorate, must not be null
Returns:
a new unmodifiable bounded collection
Throws:
IllegalArgumentException - if coll is null
Since:
4.0

iterator

public Iterator<E> iterator()
Specified by:
iterator in interface Iterable<E>
Specified by:
iterator in interface Collection<E>
Overrides:
iterator in class AbstractCollectionDecorator<E>

add

public boolean add(E object)
Specified by:
add in interface Collection<E>
Overrides:
add in class AbstractCollectionDecorator<E>

addAll

public boolean addAll(Collection<? extends E> coll)
Specified by:
addAll in interface Collection<E>
Overrides:
addAll in class AbstractCollectionDecorator<E>

clear

public void clear()
Specified by:
clear in interface Collection<E>
Overrides:
clear in class AbstractCollectionDecorator<E>

remove

public boolean remove(Object object)
Specified by:
remove in interface Collection<E>
Overrides:
remove in class AbstractCollectionDecorator<E>

removeAll

public boolean removeAll(Collection<?> coll)
Specified by:
removeAll in interface Collection<E>
Overrides:
removeAll in class AbstractCollectionDecorator<E>

retainAll

public boolean retainAll(Collection<?> coll)
Specified by:
retainAll in interface Collection<E>
Overrides:
retainAll in class AbstractCollectionDecorator<E>

isFull

public boolean isFull()
Description copied from interface: BoundedCollection
Returns true if this collection is full and no new elements can be added.

Specified by:
isFull in interface BoundedCollection<E>
Returns:
true if the collection is full

maxSize

public int maxSize()
Description copied from interface: BoundedCollection
Gets the maximum size of the collection (the bound).

Specified by:
maxSize in interface BoundedCollection<E>
Returns:
the maximum number of elements the collection can hold

decorated

protected BoundedCollection<E> decorated()
Description copied from class: AbstractCollectionDecorator
Gets the collection being decorated. All access to the decorated collection goes via this method.

Overrides:
decorated in class AbstractCollectionDecorator<E>
Returns:
the decorated collection


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