Class WorkflowThreadLocal<T>


  • public final class WorkflowThreadLocal<T>
    extends java.lang.Object
    ThreadLocal analog for workflow code.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      T get()  
      void set​(T value)  
      static <S> WorkflowThreadLocal<S> withCachedInitial​(java.util.function.Supplier<? extends S> supplier)
      Create an instance that returns the value returned by the given Supplier when #set(S) has not yet been called in the Workflow, and then stores the returned value inside the WorkflowThreadLocal.
      static <S> WorkflowThreadLocal<S> withInitial​(java.util.function.Supplier<? extends S> supplier)
      Deprecated.
      Because the non-caching behavior of this API is typically not desirable, it's recommend to use withCachedInitial(Supplier) instead.
      • Methods inherited from class java.lang.Object

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

      • WorkflowThreadLocal

        public WorkflowThreadLocal()
    • Method Detail

      • withInitial

        @Deprecated
        public static <S> WorkflowThreadLocal<S> withInitial​(java.util.function.Supplier<? extends S> supplier)
        Deprecated.
        Because the non-caching behavior of this API is typically not desirable, it's recommend to use withCachedInitial(Supplier) instead.
        Create an instance that returns the value returned by the given Supplier when #set(S) has not yet been called in the thread. Note that the value returned by the Supplier is not stored in the WorkflowThreadLocal implicitly; repeatedly calling get() will always re-execute the Supplier until you call #set(S) for the first time. This differs from the behavior of ThreadLocal. If you want the value returned by the Supplier to be stored in the WorkflowThreadLocal, which matches the behavior of ThreadLocal, use withCachedInitial(Supplier) instead.
        Type Parameters:
        S - The type stored in the WorkflowThreadLocal.
        Parameters:
        supplier - Callback that will be executed whenever get() is called, until #set(S) is called for the first time.
        Returns:
        A WorkflowThreadLocal instance.
      • withCachedInitial

        public static <S> WorkflowThreadLocal<S> withCachedInitial​(java.util.function.Supplier<? extends S> supplier)
        Create an instance that returns the value returned by the given Supplier when #set(S) has not yet been called in the Workflow, and then stores the returned value inside the WorkflowThreadLocal.
        Type Parameters:
        S - The type stored in the WorkflowThreadLocal.
        Parameters:
        supplier - Callback that will be executed when get() is called for the first time, if #set(S) has not already been called.
        Returns:
        A WorkflowThreadLocal instance.
      • get

        public T get()
      • set

        public void set​(T value)