Class WorkflowLocal<T>


  • public final class WorkflowLocal<T>
    extends java.lang.Object
    A value that is local to a single workflow execution. So it can act as a global variable for the workflow code. For example the Workflow.isSignaled() static method returns the correct value even if there are multiple workflows executing on the same machine simultaneously. It would be invalid if the signaled was a static boolean variable.
    
     public class Workflow {
    
       private static final WorkflowLocal<Boolean> signaled = WorkflowLocal.withInitial(() -> false);
    
       public static boolean isSignaled() {
         return signaled.get();
       }
    
       public void signal() {
         signaled.set(true);
       }
     }
     
    See Also:
    for thread local that can be used inside workflow code.
    • Constructor Summary

      Constructors 
      Constructor Description
      WorkflowLocal()  
    • Constructor Detail

      • WorkflowLocal

        public WorkflowLocal()
    • Method Detail

      • withInitial

        public static <S> WorkflowLocal<S> withInitial​(java.util.function.Supplier<? extends S> supplier)
      • get

        public T get()
      • set

        public void set​(T value)