Package org.jboss.elemento.flow
Class FlowContext
java.lang.Object
org.jboss.elemento.flow.FlowContext
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 to
true
.
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
ConstructorDescriptionCreates a new instance with a noop progress implementation.FlowContext
(Progress progress) Creates a new instance using the given progress indicator. -
Method Summary
Modifier and TypeMethodDescriptionboolean
boolean
failure()
<T> T
<T> T
keys()
<T> T
pop()
Removes the object at the top of the stack and returns that object.<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.progress()
Returns the progress indicator for the execution of the tasks.<T> void
push
(T value) Pushes the value om top of the stack.<C extends FlowContext>
elemental2.promise.Promise<C> <C extends FlowContext>
elemental2.promise.Promise<C> resolve()
Resolves this context successfully as a promise.<C extends FlowContext,
T>
elemental2.promise.Promise<C> 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> void
Stores the value under the given key in the map.status()
boolean
boolean
timeout()
static boolean
Method to check if the error in a catch callback is due to a timeout.toString()
-
Constructor Details
-
FlowContext
public FlowContext()Creates a new instance with a noop progress implementation. -
FlowContext
Creates a new instance using the given progress indicator.- Parameters:
progress
- the progress indicator to signal progress when executing the tasks
-
-
Method Details
-
timeout
Method to check if the error in a catch callback is due to a timeout. -
resolve
Resolves this context successfully as a promise. -
resolve
Pushes the value on top of the stack and resolves this context successfully as a promise. -
resolve
Stores the value under the given key in the map and resolves this context successfully as a promise. -
reject
-
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:
true
if the stack is empty,false
otherwise.
-
set
Stores the value under the given key in the map. -
get
- Returns:
- the object for the given key from the map or
null
if no such key was found.
-
get
- Returns:
- the object for the given key from the context map or
defaultValue
if no such key was found.
-
keys
- Returns:
- the set of keys stored in the map.
-
progress
Returns the progress indicator for the execution of the tasks. -
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
- Returns:
- the failure or
null
if the execution was successful or ran into a timeout
-
toString
-