# Class BasicThreadFactory.Builder

java.lang.Object
org.apache.commons.lang3.concurrent.BasicThreadFactory.Builder

All Implemented Interfaces:
  `Builder<BasicThreadFactory>`

Enclosing class:
  `BasicThreadFactory`

public static class BasicThreadFactory.Builder extends Object implements Builder<BasicThreadFactory>
A builder class for creating instances of `BasicThreadFactory`.

Using this builder class instances of `BasicThreadFactory` can be created and initialized. The class provides methods that correspond to the configuration options supported by `BasicThreadFactory`. Method chaining is supported. Refer to the documentation of `BasicThreadFactory` for a usage example.

Since:
  3.0

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Builder()`
  Deprecated.
  Use `BasicThreadFactory.builder()`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `BasicThreadFactory`
  `build()`
  Creates a new `BasicThreadFactory` with all configuration options that have been specified by calling methods on this builder.
  `BasicThreadFactory.Builder`
  `daemon()`
  Sets the daemon flag for the new `BasicThreadFactory` to `true` causing a new thread factory to create daemon threads.
  `BasicThreadFactory.Builder`
  `daemon(boolean daemon)`
  Sets the daemon flag for the new `BasicThreadFactory`.
  `BasicThreadFactory.Builder`
  `namingPattern(String namingPattern)`
  Sets the naming pattern to be used by the new `BasicThreadFactory`.
  `BasicThreadFactory.Builder`
  `priority(int priority)`
  Sets the priority for the threads created by the new `BasicThreadFactory`.
  `void`
  `reset()`
  Resets this builder.
  `BasicThreadFactory.Builder`
  `uncaughtExceptionHandler(Thread.UncaughtExceptionHandler exceptionHandler)`
  Sets the uncaught exception handler for the threads created by the new `BasicThreadFactory`.
  `BasicThreadFactory.Builder`
  `wrappedFactory(ThreadFactory factory)`
  Sets the `ThreadFactory` to be wrapped by the new `BasicThreadFactory`.

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### Builder

    @Deprecated public Builder()
    Deprecated.
    Use `BasicThreadFactory.builder()`.
    Constructs a new instance.

- ## Method Details

  - ### build

    public BasicThreadFactory build()
    Creates a new `BasicThreadFactory` with all configuration options that have been specified by calling methods on this builder. After creating the factory `reset()` is called.
    Specified by:
      `build` in interface `Builder<BasicThreadFactory>`
    Returns:
      the new `BasicThreadFactory`

  - ### daemon

    public BasicThreadFactory.Builder daemon()
    Sets the daemon flag for the new `BasicThreadFactory` to `true` causing a new thread factory to create daemon threads.
    Returns:
      a reference to this `BasicThreadFactory.Builder`
    Since:
      3.18.0

  - ### daemon

    public BasicThreadFactory.Builder daemon(boolean daemon)
    Sets the daemon flag for the new `BasicThreadFactory`. If this flag is set to true the new thread factory will create daemon threads.
    Parameters:
      `daemon` - the value of the daemon flag
    Returns:
      a reference to this `BasicThreadFactory.Builder`

  - ### namingPattern

    public BasicThreadFactory.Builder namingPattern(String namingPattern)
    Sets the naming pattern to be used by the new `BasicThreadFactory`.
    Parameters:
      `namingPattern` - the naming pattern (must not be null)
    Returns:
      a reference to this `BasicThreadFactory.Builder`
    Throws:
      `NullPointerException` - if the naming pattern is null

  - ### priority

    public BasicThreadFactory.Builder priority(int priority)
    Sets the priority for the threads created by the new `BasicThreadFactory`.
    Parameters:
      `priority` - the priority
    Returns:
      a reference to this `BasicThreadFactory.Builder`

  - ### reset

    public void reset()
    Resets this builder. All configuration options are set to default values. Note: If the `build()` method was called, it is not necessary to call `reset()` explicitly because this is done automatically.

  - ### uncaughtExceptionHandler

    public BasicThreadFactory.Builder uncaughtExceptionHandler(Thread.UncaughtExceptionHandler exceptionHandler)
    Sets the uncaught exception handler for the threads created by the new `BasicThreadFactory`.
    Parameters:
      `exceptionHandler` - the `Thread.UncaughtExceptionHandler` (must not be null)
    Returns:
      a reference to this `BasicThreadFactory.Builder`
    Throws:
      `NullPointerException` - if the exception handler is null

  - ### wrappedFactory

    public BasicThreadFactory.Builder wrappedFactory(ThreadFactory factory)
    Sets the `ThreadFactory` to be wrapped by the new `BasicThreadFactory`.
    Parameters:
      `factory` - the wrapped `ThreadFactory` (must not be null)
    Returns:
      a reference to this `BasicThreadFactory.Builder`
    Throws:
      `NullPointerException` - if the passed in `ThreadFactory` is null