Package org.apache.tapestry5.ioc.services

## Interface PerThreadValue<T>

-     public interface PerThreadValue<T>

  Provides access to per-thread (and, by extension, per-request) data, managed by the `PerthreadManager`. A PerThreadValue stores a particular type of information.
  Since:
    5.2.0
  See Also:
    `PerthreadManager.createValue()`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `exists()` | Is a value stored (even null)?
    `T` | `get()` | Reads the current per-thread value, or returns null if no value has been stored.
    `T` | `get​(T defaultValue)` | Gets the current per-thread value if it exists (even if null), or the defaultValue if no value has been stored.
    `T` | `set​(T newValue)` | Sets the current per-thread value, then returns that value.

- - ### Method Detail

    - #### exists

          boolean exists()

      Is a value stored (even null)?

    - #### get

          T get()

      Reads the current per-thread value, or returns null if no value has been stored.

    - #### get

          T get​(T defaultValue)

      Gets the current per-thread value if it exists (even if null), or the defaultValue if no value has been stored.

    - #### set

          T set​(T newValue)

      Sets the current per-thread value, then returns that value.