Package ch.kk7.confij.binding.collection
Class CollectionBuilder
java.lang.Object
ch.kk7.confij.binding.collection.CollectionBuilder
public class CollectionBuilder
extends java.lang.Object
Given a Collection Type, this class is responsible to provide new instances and make these instances unmodifyable if possible.
-
Constructor Summary
Constructors Constructor Description CollectionBuilder(@NonNull java.lang.Class<? extends java.util.Collection> collectionClass)CollectionBuilder(com.fasterxml.classmate.ResolvedType type) -
Method Summary
Modifier and Type Method Description <T> java.util.stream.Collector<T,?,java.util.Collection<T>>asCollector()protected java.util.function.Supplier<java.util.Collection>constructorSupplier(java.lang.Class<? extends java.util.Collection> collectionClass)protected static java.lang.Class<? extends java.util.Collection>erasedCollectionType(com.fasterxml.classmate.ResolvedType type)protected java.util.function.Supplier<java.util.Collection>interfaceSupplier(java.lang.Class<? extends java.util.Collection> collectionClass)protected java.util.function.Function<java.util.Collection,java.util.Collection>newCollectionHardener(java.lang.Class<? extends java.util.Collection> collectionClass)protected java.util.function.Supplier<java.util.Collection>newCollectionSupplier(java.lang.Class<? extends java.util.Collection> collectionClass)<T> java.util.Collection<T>newInstance()<T> java.util.Collection<T>tryHarden(java.util.Collection<T> collection)Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
CollectionBuilder
public CollectionBuilder(com.fasterxml.classmate.ResolvedType type) -
CollectionBuilder
public CollectionBuilder(@NonNull @NonNull java.lang.Class<? extends java.util.Collection> collectionClass)
-
-
Method Details
-
erasedCollectionType
protected static java.lang.Class<? extends java.util.Collection> erasedCollectionType(com.fasterxml.classmate.ResolvedType type) -
newCollectionSupplier
protected java.util.function.Supplier<java.util.Collection> newCollectionSupplier(java.lang.Class<? extends java.util.Collection> collectionClass) -
interfaceSupplier
protected java.util.function.Supplier<java.util.Collection> interfaceSupplier(java.lang.Class<? extends java.util.Collection> collectionClass) -
constructorSupplier
protected java.util.function.Supplier<java.util.Collection> constructorSupplier(java.lang.Class<? extends java.util.Collection> collectionClass) -
newCollectionHardener
protected java.util.function.Function<java.util.Collection,java.util.Collection> newCollectionHardener(java.lang.Class<? extends java.util.Collection> collectionClass) -
newInstance
public <T> java.util.Collection<T> newInstance() -
tryHarden
public <T> java.util.Collection<T> tryHarden(java.util.Collection<T> collection) -
asCollector
public <T> java.util.stream.Collector<T,?,java.util.Collection<T>> asCollector()
-