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()