public class CompositeCollection extends Object implements Collection
Changes made to this collection will actually be made on the decorated collection. Add and remove operations require the use of a pluggable strategy. If no strategy is provided then add and remove are unsupported.
Modifier and Type | Class and Description |
---|---|
static interface |
CompositeCollection.CollectionMutator
Pluggable strategy to handle changes to the composite.
|
Modifier and Type | Field and Description |
---|---|
protected Collection[] |
all
Collections in the composite
|
protected CompositeCollection.CollectionMutator |
mutator
CollectionMutator to handle changes to the collection
|
Constructor and Description |
---|
CompositeCollection()
Create an empty CompositeCollection.
|
CompositeCollection(Collection coll)
Create a Composite Collection with only coll composited.
|
CompositeCollection(Collection[] colls)
Create a CompositeCollection with colls as the initial list of
composited collections.
|
Modifier and Type | Method and Description |
---|---|
boolean |
add(Object obj)
Adds an object to the collection, throwing UnsupportedOperationException
unless a CollectionMutator strategy is specified.
|
boolean |
addAll(Collection coll)
Adds a collection of elements to this collection, throwing
UnsupportedOperationException unless a CollectionMutator strategy is specified.
|
void |
addComposited(Collection c)
Add an additional collection to this composite.
|
void |
addComposited(Collection[] comps)
Add these Collections to the list of collections in this composite
|
void |
addComposited(Collection c,
Collection d)
Add two additional collections to this composite.
|
void |
clear()
Removes all of the elements from this collection .
|
boolean |
contains(Object obj)
Checks whether this composite collection contains the object.
|
boolean |
containsAll(Collection coll)
Checks whether this composite contains all the elements in the specified collection.
|
Collection |
getCollections()
Gets the collections being decorated.
|
boolean |
isEmpty()
Checks whether this composite collection is empty.
|
Iterator |
iterator()
Gets an iterator over all the collections in this composite.
|
boolean |
remove(Object obj)
Removes an object from the collection, throwing UnsupportedOperationException
unless a CollectionMutator strategy is specified.
|
boolean |
removeAll(Collection coll)
Removes the elements in the specified collection from this composite collection.
|
void |
removeComposited(Collection coll)
Removes a collection from the those being decorated in this composite.
|
boolean |
retainAll(Collection coll)
Retains all the elements in the specified collection in this composite collection,
removing all others.
|
void |
setMutator(CompositeCollection.CollectionMutator mutator)
Specify a CollectionMutator strategy instance to handle changes.
|
int |
size()
Gets the size of this composite collection.
|
Object[] |
toArray()
Returns an array containing all of the elements in this composite.
|
Object[] |
toArray(Object[] array)
Returns an object array, populating the supplied array if possible.
|
Collection |
toCollection()
Returns a new collection containing all of the elements
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
equals, hashCode
protected CompositeCollection.CollectionMutator mutator
protected Collection[] all
public CompositeCollection()
public CompositeCollection(Collection coll)
coll
- a collection to decoratepublic CompositeCollection(Collection[] colls)
colls
- an array of collections to decoratepublic int size()
This implementation calls size()
on each collection.
size
in interface Collection
public boolean isEmpty()
This implementation calls isEmpty()
on each collection.
isEmpty
in interface Collection
public boolean contains(Object obj)
This implementation calls contains()
on each collection.
contains
in interface Collection
obj
- the object to search forpublic Iterator iterator()
This implementation uses an IteratorChain
.
iterator
in interface Iterable
iterator
in interface Collection
IteratorChain
instance which supports
remove()
. Iteration occurs over contained collections in
the order they were added, but this behavior should not be relied upon.IteratorChain
public Object[] toArray()
toArray
in interface Collection
public Object[] toArray(Object[] array)
Collection
interface for full details.toArray
in interface Collection
array
- the array to use, populating if possiblepublic boolean add(Object obj)
add
in interface Collection
obj
- the object to addUnsupportedOperationException
- if CollectionMutator hasn't been setUnsupportedOperationException
- if add is unsupportedClassCastException
- if the object cannot be added due to its typeNullPointerException
- if the object cannot be added because its nullIllegalArgumentException
- if the object cannot be addedpublic boolean remove(Object obj)
remove
in interface Collection
obj
- the object being removedUnsupportedOperationException
- if removed is unsupportedClassCastException
- if the object cannot be removed due to its typeNullPointerException
- if the object cannot be removed because its nullIllegalArgumentException
- if the object cannot be removedpublic boolean containsAll(Collection coll)
This implementation calls contains()
for each element in the
specified collection.
containsAll
in interface Collection
coll
- the collection to check forpublic boolean addAll(Collection coll)
addAll
in interface Collection
coll
- the collection to addUnsupportedOperationException
- if CollectionMutator hasn't been setUnsupportedOperationException
- if add is unsupportedClassCastException
- if the object cannot be added due to its typeNullPointerException
- if the object cannot be added because its nullIllegalArgumentException
- if the object cannot be addedpublic boolean removeAll(Collection coll)
This implementation calls removeAll
on each collection.
removeAll
in interface Collection
coll
- the collection to removeUnsupportedOperationException
- if removeAll is unsupportedpublic boolean retainAll(Collection coll)
This implementation calls retainAll()
on each collection.
retainAll
in interface Collection
coll
- the collection to removeUnsupportedOperationException
- if retainAll is unsupportedpublic void clear()
This implementation calls clear()
on each collection.
clear
in interface Collection
UnsupportedOperationException
- if clear is unsupportedpublic void setMutator(CompositeCollection.CollectionMutator mutator)
mutator
- the mutator to usepublic void addComposited(Collection[] comps)
comps
- Collections to be appended to the compositepublic void addComposited(Collection c)
c
- the collection to addpublic void addComposited(Collection c, Collection d)
c
- the first collection to addd
- the second collection to addpublic void removeComposited(Collection coll)
coll
- collection to be removedpublic Collection toCollection()
public Collection getCollections()
Copyright © 2001–2015 The Apache Software Foundation. All rights reserved.