Package org.apache.commons.lang3.builder

# Class AbstractSupplier<T,B extends AbstractSupplier<T,B,E>,E extends Throwable>

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

Type Parameters:
  `T` - the type of instances to build.
  `B` - the type of builder.
  `E` - The kind of thrown exception or error.

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

Direct Known Subclasses:
  `AbstractConcurrentInitializer.AbstractBuilder`

public abstract class AbstractSupplier<T,B extends AbstractSupplier<T,B,E>,E extends Throwable> extends Object implements FailableSupplier<T,E>
Abstracts supplying an instance of `T`. Use to implement the builder pattern.

Since:
  3.14.0

- ## Field Summary

  ### Fields inherited from interface org.apache.commons.lang3.function.FailableSupplier

  `NUL`

- ## Constructor Summary

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

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected B`
  `asThis()`
  Returns this instance typed as the proper subclass type.

  ### Methods inherited from class java.lang.Object

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

  ### Methods inherited from interface org.apache.commons.lang3.function.FailableSupplier

  `get`

- ## Constructor Details

  - ### AbstractSupplier

    public AbstractSupplier()
    Constructs a new instance.

- ## Method Details

  - ### asThis

    protected B asThis()
    Returns this instance typed as the proper subclass type.
    Returns:
      this instance typed as the proper subclass type.