Class WriteableCacheCollectionMapper<E,R>
- java.lang.Object
-
- java.util.AbstractCollection<R>
-
- org.infinispan.util.CollectionMapper<E,R>
-
- org.infinispan.util.WriteableCacheCollectionMapper<E,R>
-
- Type Parameters:
E
- the original collection type - referred to as old in some methodsR
- the resulting collection type - referred to as new in some methods
- All Implemented Interfaces:
Iterable<R>
,Collection<R>
,CacheCollection<R>
,CloseableIteratorCollection<R>
- Direct Known Subclasses:
WriteableCacheSetMapper
public class WriteableCacheCollectionMapper<E,R> extends CollectionMapper<E,R> implements CacheCollection<R>
A writeable cache collection mapper that also has constant time operations for things such asCollection.contains(Object)
if the underlying Collection does.This collection should be used for cases when a simple transformation of a element to another is all that is needed by the underlying collection.
Note this class allows for a different function specifically for values returned from an iterator. This can be useful to intercept calls such as
Map.Entry.setValue(Object)
and update appropriately.- Since:
- 9.2
- Author:
- wburns
-
-
Field Summary
Fields Modifier and Type Field Description protected Function<? super R,? extends E>
fromNewTypeFunction
protected InjectiveFunction<Object,?>
keyFilterMapper
protected CacheCollection<E>
realCacheCollection
protected Function<? super E,? extends R>
toNewTypeIteratorFunction
-
Fields inherited from class org.infinispan.util.CollectionMapper
mapper, realCollection
-
-
Constructor Summary
Constructors Constructor Description WriteableCacheCollectionMapper(CacheCollection<E> realCollection, Function<? super E,? extends R> toNewTypeFunction, Function<? super E,? extends R> toNewTypeIteratorFunction, Function<? super R,? extends E> fromNewTypeFunction, InjectiveFunction<Object,?> keyFilterFunction)
WriteableCacheCollectionMapper(CacheCollection<E> realCollection, Function<? super E,? extends R> toNewTypeFunction, Function<? super R,? extends E> fromNewTypeFunction, InjectiveFunction<Object,?> keyFilterFunction)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
add(R e)
boolean
addAll(Collection<? extends R> c)
void
clear()
boolean
contains(Object o)
boolean
containsAll(Collection<?> c)
CloseableIterator<R>
iterator()
CacheStream<R>
parallelStream()
boolean
remove(Object o)
boolean
removeAll(Collection<?> c)
boolean
removeIf(Predicate<? super R> filter)
boolean
retainAll(Collection<?> c)
CloseableSpliterator<R>
spliterator()
CacheStream<R>
stream()
-
Methods inherited from class org.infinispan.util.CollectionMapper
forEach, isEmpty, size
-
Methods inherited from class java.util.AbstractCollection
toArray, toArray, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
-
-
-
Field Detail
-
realCacheCollection
protected final CacheCollection<E> realCacheCollection
-
toNewTypeIteratorFunction
protected final Function<? super E,? extends R> toNewTypeIteratorFunction
-
keyFilterMapper
protected final InjectiveFunction<Object,?> keyFilterMapper
-
-
Constructor Detail
-
WriteableCacheCollectionMapper
public WriteableCacheCollectionMapper(CacheCollection<E> realCollection, Function<? super E,? extends R> toNewTypeFunction, Function<? super R,? extends E> fromNewTypeFunction, InjectiveFunction<Object,?> keyFilterFunction)
-
WriteableCacheCollectionMapper
public WriteableCacheCollectionMapper(CacheCollection<E> realCollection, Function<? super E,? extends R> toNewTypeFunction, Function<? super E,? extends R> toNewTypeIteratorFunction, Function<? super R,? extends E> fromNewTypeFunction, InjectiveFunction<Object,?> keyFilterFunction)
-
-
Method Detail
-
iterator
public CloseableIterator<R> iterator()
Description copied from interface:CloseableIteratorCollection
This iterator should be explicitly closed when iteration upon it is completed. Failure to do so could cause resources to not be freed properly
- Specified by:
iterator
in interfaceCloseableIteratorCollection<E>
- Specified by:
iterator
in interfaceCollection<E>
- Specified by:
iterator
in interfaceIterable<E>
- Overrides:
iterator
in classCollectionMapper<E,R>
-
contains
public boolean contains(Object o)
- Specified by:
contains
in interfaceCollection<E>
- Overrides:
contains
in classAbstractCollection<R>
-
containsAll
public boolean containsAll(Collection<?> c)
- Specified by:
containsAll
in interfaceCollection<E>
- Overrides:
containsAll
in classAbstractCollection<R>
-
add
public boolean add(R e)
- Specified by:
add
in interfaceCollection<E>
- Overrides:
add
in classCollectionMapper<E,R>
-
addAll
public boolean addAll(Collection<? extends R> c)
- Specified by:
addAll
in interfaceCollection<E>
- Overrides:
addAll
in classCollectionMapper<E,R>
-
remove
public boolean remove(Object o)
- Specified by:
remove
in interfaceCollection<E>
- Overrides:
remove
in classCollectionMapper<E,R>
-
removeAll
public boolean removeAll(Collection<?> c)
- Specified by:
removeAll
in interfaceCollection<E>
- Overrides:
removeAll
in classCollectionMapper<E,R>
-
retainAll
public boolean retainAll(Collection<?> c)
- Specified by:
retainAll
in interfaceCollection<E>
- Overrides:
retainAll
in classCollectionMapper<E,R>
-
removeIf
public boolean removeIf(Predicate<? super R> filter)
- Specified by:
removeIf
in interfaceCollection<E>
-
clear
public void clear()
- Specified by:
clear
in interfaceCollection<E>
- Overrides:
clear
in classCollectionMapper<E,R>
-
spliterator
public CloseableSpliterator<R> spliterator()
Description copied from interface:CloseableIteratorCollection
This spliterator should be explicitly closed after it has been used. Failure to do so could cause resources to not be freed properly
- Specified by:
spliterator
in interfaceCloseableIteratorCollection<E>
- Specified by:
spliterator
in interfaceCollection<E>
- Specified by:
spliterator
in interfaceIterable<E>
- Overrides:
spliterator
in classCollectionMapper<E,R>
-
stream
public CacheStream<R> stream()
Description copied from interface:CloseableIteratorCollection
This stream should be explicitly closed after it has been used. Failure to do so could cause resources to not be freed properly
- Specified by:
stream
in interfaceCacheCollection<E>
- Specified by:
stream
in interfaceCloseableIteratorCollection<E>
- Specified by:
stream
in interfaceCollection<E>
- Overrides:
stream
in classCollectionMapper<E,R>
-
parallelStream
public CacheStream<R> parallelStream()
Description copied from interface:CloseableIteratorCollection
This stream should be explicitly closed after it has been used. Failure to do so could cause resources to not be freed properly
- Specified by:
parallelStream
in interfaceCacheCollection<E>
- Specified by:
parallelStream
in interfaceCloseableIteratorCollection<E>
- Specified by:
parallelStream
in interfaceCollection<E>
- Overrides:
parallelStream
in classCollectionMapper<E,R>
-
-