Package org.apache.commons.io.build

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

java.lang.Object
org.apache.commons.io.build.AbstractSupplier<T,B>

Type Parameters:
  `T` - the type of instances to build.
  `B` - the type of builder subclass.

All Implemented Interfaces:
  `IOSupplier<T>`

Direct Known Subclasses:
  `AbstractOrigin`, `AbstractOriginSupplier`, `WildcardFileFilter.Builder`

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

Since:
  2.12.0

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AbstractSupplier()`

- ## 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.io.function.IOSupplier

  `asSupplier, get`

- ## Constructor Details

  - ### AbstractSupplier

    public AbstractSupplier()

- ## Method Details

  - ### asThis

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