public class TransformingCollection<InternalV,ExternalV>
extends java.lang.Object
implements java.util.Collection<ExternalV>
Collection<InternalV> in order to make it like a Collection<ExternalV>.
The transformations are applied "just in time", that is, the values are converted only when they are used, not during the construction of the TransformingCollection.
TransformingMap| Constructor and Description |
|---|
TransformingCollection(java.util.Collection<InternalV> internalCollection,
java.util.function.Function<? super InternalV,? extends ExternalV> readTransformation,
java.util.function.Function<? super ExternalV,? extends InternalV> writeTransformation,
java.util.function.Function<java.lang.Object,java.lang.Object> searchTransformation) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
add(ExternalV value) |
boolean |
addAll(java.util.Collection<? extends ExternalV> c) |
void |
clear() |
boolean |
contains(java.lang.Object o) |
boolean |
containsAll(java.util.Collection<?> c) |
void |
forEach(java.util.function.Consumer<? super ExternalV> action) |
boolean |
isEmpty() |
java.util.Iterator<ExternalV> |
iterator() |
java.util.stream.Stream<ExternalV> |
parallelStream() |
boolean |
remove(java.lang.Object o) |
boolean |
removeAll(java.util.Collection<?> c) |
boolean |
removeIf(java.util.function.Predicate<? super ExternalV> filter) |
boolean |
retainAll(java.util.Collection<?> c) |
int |
size() |
java.util.Spliterator<ExternalV> |
spliterator() |
java.util.stream.Stream<ExternalV> |
stream() |
java.lang.Object[] |
toArray() |
<T> T[] |
toArray(T[] a) |
public TransformingCollection(java.util.Collection<InternalV> internalCollection, java.util.function.Function<? super InternalV,? extends ExternalV> readTransformation, java.util.function.Function<? super ExternalV,? extends InternalV> writeTransformation, java.util.function.Function<java.lang.Object,java.lang.Object> searchTransformation)
public int size()
size in interface java.util.Collection<ExternalV>public boolean isEmpty()
isEmpty in interface java.util.Collection<ExternalV>public boolean contains(java.lang.Object o)
contains in interface java.util.Collection<ExternalV>public java.util.Iterator<ExternalV> iterator()
public java.lang.Object[] toArray()
toArray in interface java.util.Collection<ExternalV>public <T> T[] toArray(T[] a)
toArray in interface java.util.Collection<ExternalV>public boolean add(ExternalV value)
add in interface java.util.Collection<ExternalV>public boolean remove(java.lang.Object o)
remove in interface java.util.Collection<ExternalV>public boolean containsAll(java.util.Collection<?> c)
containsAll in interface java.util.Collection<ExternalV>public boolean addAll(java.util.Collection<? extends ExternalV> c)
addAll in interface java.util.Collection<ExternalV>public boolean removeAll(java.util.Collection<?> c)
removeAll in interface java.util.Collection<ExternalV>public boolean removeIf(java.util.function.Predicate<? super ExternalV> filter)
removeIf in interface java.util.Collection<ExternalV>public boolean retainAll(java.util.Collection<?> c)
retainAll in interface java.util.Collection<ExternalV>public void clear()
clear in interface java.util.Collection<ExternalV>public java.util.Spliterator<ExternalV> spliterator()
public java.util.stream.Stream<ExternalV> stream()
stream in interface java.util.Collection<ExternalV>public java.util.stream.Stream<ExternalV> parallelStream()
parallelStream in interface java.util.Collection<ExternalV>