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| Modifier and Type | Field and Description |
|---|---|
protected java.util.Collection<InternalV> |
internalCollection |
protected java.util.function.Function<? super InternalV,? extends ExternalV> |
readTransformation |
protected java.util.function.Function<java.lang.Object,java.lang.Object> |
searchTransformation |
protected java.util.function.Function<? super ExternalV,? extends InternalV> |
writeTransformation |
| 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) |
boolean |
equals(java.lang.Object obj) |
void |
forEach(java.util.function.Consumer<? super ExternalV> action) |
int |
hashCode() |
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) |
java.lang.String |
toString() |
protected final java.util.function.Function<? super InternalV,? extends ExternalV> readTransformation
protected final java.util.function.Function<? super ExternalV,? extends InternalV> writeTransformation
protected final java.util.function.Function<java.lang.Object,java.lang.Object> searchTransformation
protected final java.util.Collection<InternalV> internalCollection
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>public void forEach(java.util.function.Consumer<? super ExternalV> action)
forEach in interface java.lang.Iterable<ExternalV>public int hashCode()
hashCode in interface java.util.Collection<ExternalV>hashCode in class java.lang.Objectpublic boolean equals(java.lang.Object obj)
equals in interface java.util.Collection<ExternalV>equals in class java.lang.Objectpublic java.lang.String toString()
toString in class java.lang.Object