Package org.jboss.elemento.flow
Class FlowContext
- java.lang.Object
-
- org.jboss.elemento.flow.FlowContext
-
public class FlowContext extends Object
General purpose context to be used as a common data structure when executing a list of asynchronous tasks in parallel, in sequence or when executing a task repeatedly while a condition evaluates totrue.The context provides a progress indicator to signal the progress of the task execution and a stack and a map for sharing data between asynchronous tasks.
Finally, the context provides methods to resolve the context as promise.
-
-
Constructor Summary
Constructors Constructor Description FlowContext()Creates a new instance with a noop progress implementation.FlowContext(Progress progress)Creates a new instance using the given progress indicator.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanemptyStack()booleanfailure()StringfailureReason()<T> Tget(String key)<T> Tget(String key, T defaultValue)Set<String>keys()<T> Tpop()Removes the object at the top of the stack and returns that object.<T> Tpop(T defaultValue)Removes the object at the top of the stack and returns that object or returns the default value, if the stack is empty.Progressprogress()Returns the progress indicator for the execution of the tasks.<T> voidpush(T value)Pushes the value om top of the stack.<C extends FlowContext>
elemental2.promise.Promise<C>reject(Object error)<C extends FlowContext>
elemental2.promise.Promise<C>resolve()Resolves this context successfully as a promise.<C extends FlowContext,T>
elemental2.promise.Promise<C>resolve(String key, T value)Stores the value under the given key in the map and resolves this context successfully as a promise.<C extends FlowContext,T>
elemental2.promise.Promise<C>resolve(T value)Pushes the value on top of the stack and resolves this context successfully as a promise.<T> voidset(String key, T value)Stores the value under the given key in the map.FlowStatusstatus()booleansuccessful()booleantimeout()static booleantimeout(Object error)Method to check if the error in a catch callback is due to a timeout.StringtoString()
-
-
-
Constructor Detail
-
FlowContext
public FlowContext()
Creates a new instance with a noop progress implementation.
-
FlowContext
public FlowContext(Progress progress)
Creates a new instance using the given progress indicator.- Parameters:
progress- the progress indicator to signal progress when executing the tasks
-
-
Method Detail
-
timeout
public static boolean timeout(Object error)
Method to check if the error in a catch callback is due to a timeout.
-
resolve
public <C extends FlowContext> elemental2.promise.Promise<C> resolve()
Resolves this context successfully as a promise.
-
resolve
public <C extends FlowContext,T> elemental2.promise.Promise<C> resolve(T value)
Pushes the value on top of the stack and resolves this context successfully as a promise.
-
resolve
public <C extends FlowContext,T> elemental2.promise.Promise<C> resolve(String key, T value)
Stores the value under the given key in the map and resolves this context successfully as a promise.
-
reject
public <C extends FlowContext> elemental2.promise.Promise<C> reject(Object error)
-
push
public <T> void push(T value)
Pushes the value om top of the stack.
-
pop
public <T> T pop()
Removes the object at the top of the stack and returns that object.- Returns:
- The object at the top of the stack.
- Throws:
EmptyStackException- if this stack is empty.
-
pop
public <T> T pop(T defaultValue)
Removes the object at the top of the stack and returns that object or returns the default value, if the stack is empty.- Returns:
- The object at the top of the stack or the default value if the stack is empty.
-
emptyStack
public boolean emptyStack()
- Returns:
trueif the stack is empty,falseotherwise.
-
set
public <T> void set(String key, T value)
Stores the value under the given key in the map.
-
get
public <T> T get(String key)
- Returns:
- the object for the given key from the map or
nullif no such key was found.
-
get
public <T> T get(String key, T defaultValue)
- Returns:
- the object for the given key from the context map or
defaultValueif no such key was found.
-
progress
public Progress progress()
Returns the progress indicator for the execution of the tasks.
-
status
public FlowStatus status()
- Returns:
- the execution status of this context
-
successful
public boolean successful()
- Returns:
- whether the execution was successful
-
timeout
public boolean timeout()
- Returns:
- whether the execution ran into a timeout
-
failure
public boolean failure()
- Returns:
- whether the execution failed
-
failureReason
public String failureReason()
- Returns:
- the failure or
nullif the execution was successful or ran into a timeout
-
-