Class TransformingCollection<InternalV,ExternalV>
- java.lang.Object
-
- com.electronwill.nightconfig.core.utils.TransformingCollection<InternalV,ExternalV>
-
- All Implemented Interfaces:
java.lang.Iterable<ExternalV>,java.util.Collection<ExternalV>
- Direct Known Subclasses:
TransformingList,TransformingSet
public class TransformingCollection<InternalV,ExternalV> extends java.lang.Object implements java.util.Collection<ExternalV>A TransformingCollection applies "just in time" transformations to aCollection<InternalV>in order to make it like aCollection<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.
- See Also:
TransformingMap
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Collection<InternalV>internalCollectionprotected java.util.function.Function<? super InternalV,? extends ExternalV>readTransformationprotected java.util.function.Function<java.lang.Object,java.lang.Object>searchTransformationprotected java.util.function.Function<? super ExternalV,? extends InternalV>writeTransformation
-
Constructor Summary
Constructors Constructor 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)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanadd(ExternalV value)booleanaddAll(java.util.Collection<? extends ExternalV> c)voidclear()booleancontains(java.lang.Object o)booleancontainsAll(java.util.Collection<?> c)booleanequals(java.lang.Object obj)voidforEach(java.util.function.Consumer<? super ExternalV> action)inthashCode()booleanisEmpty()java.util.Iterator<ExternalV>iterator()java.util.stream.Stream<ExternalV>parallelStream()booleanremove(java.lang.Object o)booleanremoveAll(java.util.Collection<?> c)booleanremoveIf(java.util.function.Predicate<? super ExternalV> filter)booleanretainAll(java.util.Collection<?> c)intsize()java.util.Spliterator<ExternalV>spliterator()java.util.stream.Stream<ExternalV>stream()java.lang.Object[]toArray()<T> T[]toArray(T[] a)java.lang.StringtoString()
-
-
-
Field Detail
-
readTransformation
protected final java.util.function.Function<? super InternalV,? extends ExternalV> readTransformation
-
writeTransformation
protected final java.util.function.Function<? super ExternalV,? extends InternalV> writeTransformation
-
searchTransformation
protected final java.util.function.Function<java.lang.Object,java.lang.Object> searchTransformation
-
internalCollection
protected final java.util.Collection<InternalV> internalCollection
-
-
Constructor Detail
-
TransformingCollection
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)
-
-
Method Detail
-
size
public int size()
- Specified by:
sizein interfacejava.util.Collection<InternalV>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfacejava.util.Collection<InternalV>
-
contains
public boolean contains(java.lang.Object o)
- Specified by:
containsin interfacejava.util.Collection<InternalV>
-
iterator
public java.util.Iterator<ExternalV> iterator()
-
toArray
public java.lang.Object[] toArray()
- Specified by:
toArrayin interfacejava.util.Collection<InternalV>
-
toArray
public <T> T[] toArray(T[] a)
- Specified by:
toArrayin interfacejava.util.Collection<InternalV>
-
add
public boolean add(ExternalV value)
- Specified by:
addin interfacejava.util.Collection<InternalV>
-
remove
public boolean remove(java.lang.Object o)
- Specified by:
removein interfacejava.util.Collection<InternalV>
-
containsAll
public boolean containsAll(java.util.Collection<?> c)
- Specified by:
containsAllin interfacejava.util.Collection<InternalV>
-
addAll
public boolean addAll(java.util.Collection<? extends ExternalV> c)
- Specified by:
addAllin interfacejava.util.Collection<InternalV>
-
removeAll
public boolean removeAll(java.util.Collection<?> c)
- Specified by:
removeAllin interfacejava.util.Collection<InternalV>
-
removeIf
public boolean removeIf(java.util.function.Predicate<? super ExternalV> filter)
- Specified by:
removeIfin interfacejava.util.Collection<InternalV>
-
retainAll
public boolean retainAll(java.util.Collection<?> c)
- Specified by:
retainAllin interfacejava.util.Collection<InternalV>
-
clear
public void clear()
- Specified by:
clearin interfacejava.util.Collection<InternalV>
-
spliterator
public java.util.Spliterator<ExternalV> spliterator()
-
stream
public java.util.stream.Stream<ExternalV> stream()
- Specified by:
streamin interfacejava.util.Collection<InternalV>
-
parallelStream
public java.util.stream.Stream<ExternalV> parallelStream()
- Specified by:
parallelStreamin interfacejava.util.Collection<InternalV>
-
forEach
public void forEach(java.util.function.Consumer<? super ExternalV> action)
- Specified by:
forEachin interfacejava.lang.Iterable<InternalV>
-
hashCode
public int hashCode()
- Specified by:
hashCodein interfacejava.util.Collection<InternalV>- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Specified by:
equalsin interfacejava.util.Collection<InternalV>- Overrides:
equalsin classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-