# Class DICollectionBuilder<K,E>

java.lang.Object
org.apache.cayenne.di.spi.DICollectionBuilder<K,E>

Type Parameters:
  `K` - DI key type.
  `E` - Collection element type.

public abstract class DICollectionBuilder<K,E> extends Object
A superclass of DI List and Map builders.

Since:
  4.0

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected Key<K>`
  `bindingKey`
  `protected DefaultInjector`
  `injector`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DICollectionBuilder(Key<K> bindingKey, DefaultInjector injector)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected Provider<E>`
  `createInstanceProvider(E value)`
  `protected <SubT extends E>
  Provider<SubT>`
  `createTypeProvider(Class<SubT> interfaceType)`
  `protected <SubT extends E>
  org.apache.cayenne.di.spi.Binding<SubT>`
  `findOrCreateBinding(Class<SubT> interfaceType)`
  `void`
  `in(Scope scope)`
  `void`
  `withoutScope()`

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### injector

    protected DefaultInjector injector

  - ### bindingKey

    protected Key<K> bindingKey

- ## Constructor Details

  - ### DICollectionBuilder

    public DICollectionBuilder(Key<K> bindingKey, DefaultInjector injector)

- ## Method Details

  - ### createInstanceProvider

    protected Provider<E> createInstanceProvider(E value)

  - ### createTypeProvider

    protected <SubT extends E> Provider<SubT> createTypeProvider(Class<SubT> interfaceType) throws DIRuntimeException
    Throws:
      `DIRuntimeException`

  - ### findOrCreateBinding

    protected <SubT extends E> org.apache.cayenne.di.spi.Binding<SubT> findOrCreateBinding(Class<SubT> interfaceType)

  - ### in

    public void in(Scope scope)

  - ### withoutScope

    public void withoutScope()
    Since:
      4.1