Class ThreadScope<T>

java.lang.Object
io.inverno.mod.base.Scope<T>
io.inverno.mod.base.concurrent.ThreadScope<T>
Type Parameters:
T - the type of the scoped instances

public abstract class ThreadScope<T> extends Scope<T>

A thread scope is used to provide bean instances bound to the current thread.

This implementation is backed by a ThreadLocal.

Since:
1.2
Author:
Jeremy Kuhn
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a thread scope.
  • Method Summary

    Modifier and Type
    Method
    Description
    final T
    get()
    Returns the instance bound to the current thread.
    protected void
    hookOnGet(T instance)
    Optional hook executed when an instance is retrieved.
    final void
    Removes the instance currently bound to the current thread.

    Methods inherited from class io.inverno.mod.base.Scope

    create

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ThreadScope

      public ThreadScope()

      Creates a thread scope.

  • Method Details

    • hookOnGet

      protected void hookOnGet(T instance)

      Optional hook executed when an instance is retrieved.

      Parameters:
      instance - the instance
    • get

      public final T get()

      Returns the instance bound to the current thread.

      If no instance is bound to the key, a new instance is created and kept in the scope.

      Returns:
      the instance
    • remove

      public final void remove()

      Removes the instance currently bound to the current thread.