Interface PerThreadValue<T>
-
public interface PerThreadValue<T>
Provides access to per-thread (and, by extension, per-request) data, managed by thePerthreadManager. A PerThreadValue stores a particular type of information.- Since:
- 5.2.0
- See Also:
PerthreadManager.createValue()
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default Tcompute(java.util.function.Function<? super T,? extends T> fn)Computes a new value with the help of the current one, which is returned.default TcomputeIfAbsent(java.util.function.Supplier<? extends T> fn)If no value is currently stored (checked byexists()), the value provided by the supplier function is set and return.default TcomputeIfPresent(java.util.function.Function<? super T,? extends T> fn)If a value is currently stored (checked byexists()), this value is used to compute a new one with the given mapping function.booleanexists()Is a value stored (even null)?Tget()Reads the current per-thread value, or returns null if no value has been stored.Tget(T defaultValue)Gets the current per-thread value if it exists (even if null), or the defaultValue if no value has been stored.default voidifSet(java.util.function.Consumer<? super T> action)If a value is set, performs the given action with it, otherwise it does nothing.Tset(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(T defaultValue)
Gets the current per-thread value if it exists (even if null), or the defaultValue if no value has been stored.
-
computeIfAbsent
default T computeIfAbsent(java.util.function.Supplier<? extends T> fn)
If no value is currently stored (checked byexists()), the value provided by the supplier function is set and return. Otherwise, the current value is returned.- Parameters:
fn- the value supplier function- Returns:
- The current (existing or computed) value
- Throws:
java.lang.NullPointerException- if the supplier function is null- Since:
- 5.8.3
-
computeIfPresent
default T computeIfPresent(java.util.function.Function<? super T,? extends T> fn)
If a value is currently stored (checked byexists()), this value is used to compute a new one with the given mapping function. Otherwise, null is returned.- Parameters:
fn- the mapping function to compute the new value- Returns:
- The new computed value, or null if none was present
- Throws:
java.lang.NullPointerException- if the mapping function is null- Since:
- 5.8.3
-
compute
default T compute(java.util.function.Function<? super T,? extends T> fn)
Computes a new value with the help of the current one, which is returned.- Parameters:
fn- the mapping function to compute the new value- Returns:
- The new computed value
- Throws:
java.lang.NullPointerException- if the mapping function is null- Since:
- 5.8.3
-
-