# Class AbstractConcurrentInitializer.AbstractBuilder<I extends AbstractConcurrentInitializer<T,E>, T, B extends AbstractConcurrentInitializer.AbstractBuilder<I,T,B,E>, E extends Exception>

java.lang.Object
org.apache.commons.lang3.builder.AbstractSupplier<I,B,E>
org.apache.commons.lang3.concurrent.AbstractConcurrentInitializer.AbstractBuilder<I,T,B,E>

Type Parameters:
  `I` - The type of results supplied by this builder.
  `T` - The type of the object managed by the initializer class.
  `B` - The type of builder.
  `E` - The exception type thrown by `AbstractConcurrentInitializer.initialize()`.

All Implemented Interfaces:
  `FailableSupplier<I,E>`

Direct Known Subclasses:
  `AtomicInitializer.Builder, AtomicSafeInitializer.Builder, BackgroundInitializer.Builder, LazyInitializer.Builder`

Enclosing class:
  `AbstractConcurrentInitializer<T, E extends Exception>`

public abstract static class AbstractConcurrentInitializer.AbstractBuilder<I extends AbstractConcurrentInitializer<T,E>, T, B extends AbstractConcurrentInitializer.AbstractBuilder<I,T,B,E>, E extends Exception> extends AbstractSupplier<I,B,E>
Builds a new instance for subclasses.

Since:
  3.14.0

- ## Field Summary

  ### Fields inherited from interface FailableSupplier

  `NUL`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AbstractBuilder()`
  Constructs a new instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `FailableConsumer<T, ? extends Exception>`
  `getCloser()`
  Gets the closer consumer called by `AbstractConcurrentInitializer.close()`.
  `FailableSupplier<T, ? extends Exception>`
  `getInitializer()`
  Gets the initializer supplier called by `AbstractConcurrentInitializer.initialize()`.
  `B`
  `setCloser(FailableConsumer<T, ? extends Exception> closer)`
  Sets the closer consumer called by `AbstractConcurrentInitializer.close()`.
  `B`
  `setInitializer(FailableSupplier<T, ? extends Exception> initializer)`
  Sets the initializer supplier called by `AbstractConcurrentInitializer.initialize()`.

  ### Methods inherited from class AbstractSupplier

  `asThis`

  ### Methods inherited from class Object

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

  ### Methods inherited from interface FailableSupplier

  `get`

- ## Constructor Details

  - ### AbstractBuilder

    public AbstractBuilder()
    Constructs a new instance.

- ## Method Details

  - ### getCloser

    public FailableConsumer<T, ? extends Exception> getCloser()
    Gets the closer consumer called by `AbstractConcurrentInitializer.close()`.
    Returns:
      the closer consumer called by `AbstractConcurrentInitializer.close()`.

  - ### getInitializer

    public FailableSupplier<T, ? extends Exception> getInitializer()
    Gets the initializer supplier called by `AbstractConcurrentInitializer.initialize()`.
    Returns:
      the initializer supplier called by `AbstractConcurrentInitializer.initialize()`.

  - ### setCloser

    public B setCloser(FailableConsumer<T, ? extends Exception> closer)
    Sets the closer consumer called by `AbstractConcurrentInitializer.close()`.
    Parameters:
      `closer` - the consumer called by `AbstractConcurrentInitializer.close()`.
    Returns:
      `this` instance.

  - ### setInitializer

    public B setInitializer(FailableSupplier<T, ? extends Exception> initializer)
    Sets the initializer supplier called by `AbstractConcurrentInitializer.initialize()`.
    Parameters:
      `initializer` - the supplier called by `AbstractConcurrentInitializer.initialize()`.
    Returns:
      `this` instance.