## com.google.common.util.concurrent
Class ThreadFactoryBuilder

    java.lang.Object
      com.google.common.util.concurrent.ThreadFactoryBuilder

    public final class ThreadFactoryBuilder

extends Object

A ThreadFactory builder, providing any combination of these features:

- whether threads should be marked as daemon threads
- a naming format
- a thread priority
- an uncaught exception handler
- a backing thread factory

If no backing thread factory is provided, a default backing thread factory is used as if by calling `setThreadFactory(``Executors.defaultThreadFactory()``)`.

Since:
  4.0
Author:
  Kurt Alfred Kluever

Constructor Summary
`ThreadFactoryBuilder()` Creates a new `ThreadFactory` builder.

Method Summary
`ThreadFactory` `build()` Returns a new thread factory using the options supplied during the building process.
`ThreadFactoryBuilder` `setDaemon(boolean daemon)` Sets daemon or not for new threads created with this ThreadFactory.
`ThreadFactoryBuilder` `setNameFormat(String nameFormat)` Sets the naming format to use when naming threads (`Thread.setName(java.lang.String)`) which are created with this ThreadFactory.
`ThreadFactoryBuilder` `setPriority(int priority)` Sets the priority for new threads created with this ThreadFactory.
`ThreadFactoryBuilder` `setThreadFactory(ThreadFactory backingThreadFactory)` Sets the backing `ThreadFactory` for new threads created with this ThreadFactory.
`ThreadFactoryBuilder` `setUncaughtExceptionHandler(Thread.UncaughtExceptionHandler uncaughtExceptionHandler)` Sets the `Thread.UncaughtExceptionHandler` for new threads created with this ThreadFactory.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ThreadFactoryBuilder

    public ThreadFactoryBuilder()

  Creates a new `ThreadFactory` builder.

Method Detail

### setNameFormat

    public ThreadFactoryBuilder setNameFormat(String nameFormat)

  Sets the naming format to use when naming threads (`Thread.setName(java.lang.String)`) which are created with this ThreadFactory.

  Parameters:
    `nameFormat` - a `String.format(String, Object...)`-compatible format String, to which a unique integer (0, 1, etc.) will be supplied as the single parameter. This integer will be unique to the built instance of the ThreadFactory and will be assigned sequentially.
  Returns:
    this for the builder pattern

### setDaemon

    public ThreadFactoryBuilder setDaemon(boolean daemon)

  Sets daemon or not for new threads created with this ThreadFactory.

  Parameters:
    `daemon` - whether or not new Threads created with this ThreadFactory will be daemon threads
  Returns:
    this for the builder pattern

### setPriority

    public ThreadFactoryBuilder setPriority(int priority)

  Sets the priority for new threads created with this ThreadFactory.

  Parameters:
    `priority` - the priority for new Threads created with this ThreadFactory
  Returns:
    this for the builder pattern

### setUncaughtExceptionHandler

    public ThreadFactoryBuilder setUncaughtExceptionHandler(Thread.UncaughtExceptionHandler uncaughtExceptionHandler)

  Sets the `Thread.UncaughtExceptionHandler` for new threads created with this ThreadFactory.

  Parameters:
    `uncaughtExceptionHandler` - the uncaught exception handler for new Threads created with this ThreadFactory
  Returns:
    this for the builder pattern

### setThreadFactory

    public ThreadFactoryBuilder setThreadFactory(ThreadFactory backingThreadFactory)

  Sets the backing `ThreadFactory` for new threads created with this ThreadFactory. Threads will be created by invoking #newThread(Runnable) on this backing `ThreadFactory`.

  Parameters:
    `backingThreadFactory` - the backing `ThreadFactory` which will be delegated to during thread creation.
  Returns:
    this for the builder pattern
  See Also:
    `MoreExecutors`

### build

    public ThreadFactory build()

  Returns a new thread factory using the options supplied during the building process. After building, it is still possible to change the options used to build the ThreadFactory and/or build again. State is not shared amongst built instances.

  Returns:
    the fully constructed `ThreadFactory`

Copyright © 2010-2012. All Rights Reserved.