com.google.common.util.concurrent
Class ThreadFactoryBuilder

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

public final class ThreadFactoryBuilder
extends Object

A ThreadFactory builder, providing any combination of these features:

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

Since:
4
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