K - the type of object in the index.C - the type of object in the collection.public class IndexedCollection<K,C> extends AbstractCollectionDecorator<C>
 Modifications made to this decorator modify the index as well as the
 decorated Collection. However, modifications to the underlying
 Collection will not update the index and it will get out of sync.
 
 If modification of the decorated Collection is unavoidable, then a
 call to reindex() will update the index to the current contents of
 the Collection.
 
| Constructor and Description | 
|---|
IndexedCollection(java.util.Collection<C> coll,
                 Transformer<C,K> keyTransformer,
                 MultiMap<K,C> map,
                 boolean uniqueIndex)
Create a  
IndexedCollection. | 
| Modifier and Type | Method and Description | 
|---|---|
boolean | 
add(C object) | 
boolean | 
addAll(java.util.Collection<? extends C> coll)  | 
void | 
clear()  | 
boolean | 
contains(java.lang.Object object) | 
boolean | 
containsAll(java.util.Collection<?> coll) | 
C | 
get(K key)
Get the element associated with the given key. 
 | 
static <K,C> IndexedCollection<K,C> | 
nonUniqueIndexedCollection(java.util.Collection<C> coll,
                          Transformer<C,K> keyTransformer)
Create an  
IndexedCollection for a non-unique index. | 
void | 
reindex()
Clears the index and re-indexes the entire decorated  
Collection. | 
boolean | 
remove(java.lang.Object object)  | 
boolean | 
removeAll(java.util.Collection<?> coll)  | 
boolean | 
removeIf(java.util.function.Predicate<? super C> filter)  | 
boolean | 
retainAll(java.util.Collection<?> coll)  | 
static <K,C> IndexedCollection<K,C> | 
uniqueIndexedCollection(java.util.Collection<C> coll,
                       Transformer<C,K> keyTransformer)
Create an  
IndexedCollection for a unique index. | 
java.util.Collection<C> | 
values(K key)
Get all elements associated with the given key. 
 | 
isEmpty, iterator, size, toArray, toArray, toStringequals, getClass, hashCode, notify, notifyAll, wait, wait, waitpublic IndexedCollection(java.util.Collection<C> coll, Transformer<C,K> keyTransformer, MultiMap<K,C> map, boolean uniqueIndex)
IndexedCollection.coll - decorated CollectionkeyTransformer - Transformer for generating index keysmap - map to use as indexuniqueIndex - if the index shall enforce uniqueness of index keyspublic static <K,C> IndexedCollection<K,C> uniqueIndexedCollection(java.util.Collection<C> coll, Transformer<C,K> keyTransformer)
IndexedCollection for a unique index.
 
 If an element is added, which maps to an existing key, an IllegalArgumentException
 will be thrown.
K - the index object type.C - the collection type.coll - the decorated Collection.keyTransformer - the Transformer for generating index keys.IndexedCollection.public static <K,C> IndexedCollection<K,C> nonUniqueIndexedCollection(java.util.Collection<C> coll, Transformer<C,K> keyTransformer)
IndexedCollection for a non-unique index.K - the index object type.C - the collection type.coll - the decorated Collection.keyTransformer - the Transformer for generating index keys.IndexedCollection.public boolean add(C object)
add in interface java.util.Collection<C>add in class AbstractCollectionDecorator<C>java.lang.IllegalArgumentException - if the object maps to an existing key and the index
   enforces a uniqueness constraintpublic boolean addAll(java.util.Collection<? extends C> coll)
addAll in interface java.util.Collection<C>addAll in class AbstractCollectionDecorator<C>public void clear()
clear in interface java.util.Collection<C>clear in class AbstractCollectionDecorator<C>public boolean contains(java.lang.Object object)
Note: uses the index for fast lookup
contains in interface java.util.Collection<C>contains in class AbstractCollectionDecorator<C>public boolean containsAll(java.util.Collection<?> coll)
Note: uses the index for fast lookup
containsAll in interface java.util.Collection<C>containsAll in class AbstractCollectionDecorator<C>public C get(K key)
 In case of a non-unique index, this method will return the first
 value associated with the given key. To retrieve all elements associated
 with a key, use values(Object).
key - key to look upvalues(Object)public java.util.Collection<C> values(K key)
key - key to look upcontains(key) == falsepublic void reindex()
Collection.public boolean remove(java.lang.Object object)
remove in interface java.util.Collection<C>remove in class AbstractCollectionDecorator<C>public boolean removeIf(java.util.function.Predicate<? super C> filter)
removeIf in interface java.util.Collection<C>removeIf in class AbstractCollectionDecorator<C>public boolean removeAll(java.util.Collection<?> coll)
removeAll in interface java.util.Collection<C>removeAll in class AbstractCollectionDecorator<C>public boolean retainAll(java.util.Collection<?> coll)
retainAll in interface java.util.Collection<C>retainAll in class AbstractCollectionDecorator<C>Copyright © 2010 - 2023 Adobe. All Rights Reserved