AbstractConnectedControlActor |
Ancestor for all actors that control (connected) sub-actors in some way.
|
AbstractContainerUpdater |
Ancestor for control actors that update a specific value of a container
using the defined sub-actors.
|
AbstractControlActor |
Ancestor for all actors that control sub-actors in some way.
|
AbstractDataContainerFileChecker<T extends DataContainer> |
Abstract ancestor for transformers that check data container files
whether they are consistents before passing on the file/file arrays.
|
AbstractDataContainerFileChecker.FileInfo |
Container for storing additional information about a file, i.e., a
timestamp when it first got black listed and a timestamp for when it
should get checked again.
|
AbstractDirectedControlActor |
Ancestor for all actors that control sub-actors in some way.
|
AbstractDirector |
Manages the execution of actors.
|
AbstractTee |
Abstract ancestor for actors that tee-off tokens.
|
AbstractTee.TeeSwingWorker |
SwingWorker for asynchronous execution of the tee's sub-actors.
|
ArrayGenerate |
Applies all sub-actors to the input token and generates an array from the collected output.
Each of the branches is expected to produce at most one output token (ideally one per branch, otherwise there will be null elements in the output array).
|
ArrayProcess |
Applies all sub-actors to each of the array elements.
|
ArrayProcess.ArrayElementJob |
For processing a single array element.
|
Block |
Blocks the propagation of tokens if the condition evaluates to 'true', therefore acts like the 'continue' control statement.
In case of integer or double tokens that arrive at the input, these can be accessed in the expression via 'X'.
The following grammar is used for evaluating the boolean expressions (depends on the selected condition):
expr_list ::= '=' expr_list expr_part | expr_part ;
expr_part ::= expr ;
expr ::= ( expr )
# data types
| number
| string
| boolean
| date
# constants
| true
| false
| pi
| e
| now()
| today()
# negating numeric value
| -expr
# comparisons
| expr < expr
| expr <= expr
| expr > expr
| expr >= expr
| expr = expr
| expr != expr (or: expr <> expr)
# boolean operations
| ! expr (or: not expr)
| expr & expr (or: expr and expr)
| expr | expr (or: expr or expr)
| if[else] ( expr , expr (if true) , expr (if false) )
| ifmissing ( variable , expr (default value if variable is missing) )
# arithmetics
| expr + expr
| expr - expr
| expr * expr
| expr / expr
| expr ^ expr (power of)
| expr % expr (modulo)
;
# numeric functions
| abs ( expr )
| sqrt ( expr )
| log ( expr )
| exp ( expr )
| sin ( expr )
| cos ( expr )
| tan ( expr )
| rint ( expr )
| floor ( expr )
| pow[er] ( expr , expr )
| ceil ( expr )
| year ( expr )
| month ( expr )
| day ( expr )
| hour ( expr )
| minute ( expr )
| second ( expr )
| weekday ( expr )
| weeknum ( expr )
# string functions
| substr ( expr , start [, end] )
| left ( expr , len )
| mid ( expr , start , len )
| right ( expr , len )
| rept ( expr , count )
| concatenate ( expr1 , expr2 [, expr3-5] )
| lower[case] ( expr )
| upper[case] ( expr )
| trim ( expr )
| matches ( expr , regexp )
| trim ( expr )
| len[gth] ( str )
| find ( search , expr [, pos] )
| replace ( str , pos , len , newstr )
| substitute ( str , find , replace [, occurrences] )
;
Notes:
- Variables are either all upper case letters (e.g., "ABC") or any character apart from "]" enclosed by "[" and "]" (e.g., "[Hello World]").
- 'start' and 'end' for function 'substr' are indices that start at 1.
- Index 'end' for function 'substr' is excluded (like Java's 'String.substring(int,int)' method)
- Line comments start with '#'
- Semi-colons (';') or commas (',') can be used as separator in the formulas,
e.g., 'pow(2,2)' is equivalent to 'pow(2;2)'
- dates have to be of format 'yyyy-MM-dd' or 'yyyy-MM-dd HH:mm:ss'
- times have to be of format 'HH:mm:ss' or 'yyyy-MM-dd HH:mm:ss'
- the characters in square brackets in function names are optional:
e.g.
|
Branch |
Branches off the flow into several sub-branches, each being supplied with a copy of the same object being passed into this meta-actor.
|
Breakpoint |
Allows to pause the execution of the flow when this actor is reached and the condition evaluates to 'true'.
|
CallableActorScreenshot |
Takes a screenshot of a callable actor whenever a token passes through.
The screenshot can either be written to disk (and the input token is forwarded), or the screenshot is forwarded as adams.data.image.BufferedImageContainer (dropping the input token).
|
Cast |
Casts the incoming data to the specified classname.
|
ClearCallableDisplay |
Clears the referenced callable graphical actor whenever a token passes through.
|
CloseCallableDisplay |
Closes the referenced callable graphical actor whenever a token passes through.
|
CollectionProcess |
Applies all sub-actors to each of the collection elements.
|
ConditionalSequence |
The sequence gets only executed if the condition holds true.
|
ConditionalSubProcess |
Encapsulates a sequence of flow items.
|
ConditionalTee |
Tees off the tokens if the condition evaluates to 'true'.
|
ConditionalTrigger |
Executes the tee-actor whenever a token gets passed through.
|
ContainerValuePicker |
Picks a named value from any container object and tees it off.
With the 'switch-outputs' option it is possible to forward the named value and teeing off the container instead.
If 'ignore missing' is turned off, any value that cannot be found will generate an error logging message and, in case of switched outputs, an actual error.
|
Count |
Counts the number of tokens that pass through and meet the condition and tees off the current count every n-th token.
|
DesktopScreenshot |
Takes a screenshot of the desktop whenever a token passes through.
|
FileProcessor |
Flow |
Container object for actors, used for executing a flow.
|
ForceFlush |
Forces all actors that implement adams.flow.core.FlushSupporter
See also:
adams.flow.sink.DumpFile
Input/output:
- accepts:
adams.flow.core.Unknown
- generates:
adams.flow.core.Unknown
|
FreeMemory |
Attempts to free up memory of the sub-flow that it belongs to.
This actor is useful in case when sub-flows are only executed once, but still keep their data-structures and gobble up unnecessary memory.
|
GC |
Calls the garbage collector.
|
HeapDump |
Generates a heapdump and saves it to the specified file (with .hprof extension) whenever a token passes through.
|
IfStorageValue |
An If-Then-Else source actor for storage values.
|
IfStorageValue.IfStorageValueDirector |
A specialized director for an IfStorageValue control actor.
|
IfThenElse |
Emulates an If-Then-Else construct.
|
IfThenElse.IfThenElseDirector |
A specialized director for an AbstractIfThenElse control actor.
|
Injector |
Injects a string token into the token sequence.
The string can be inject before or after the current token.
|
InputOutputListener |
Listens to the input/output tokens of the sub-actors, sending them to callable actors.
|
Inspect |
Allows the user to inspect tokens with the specified viewer.
Inspection can be done interactively, allowing the user to drop tokens, or non-interactively, with the viewer updating whenever a token passes through.
Of course, this actor should only be used during development for debugging purposes as can slow down the execution significantly depending on how expensive the view generation is.
|
JDeps |
Runs jdeps on the classname arriving at the input.
The application's classpath is automatically added to the command-line if no classpath directories or jars are provided.
Classpath directories and jars get combined, but directories take precedence over jars.
|
JMap |
Runs jmap whenever a token gets passed through.
|
LaunchTee |
Launches the sub-flow in a separate thread each time a token arrives.
Internally, a adams.flow.control.LocalScopeTee is used to manage the scope and forward the token.
|
LaunchTrigger |
Launches the sub-flow in a separate thread each time a token arrives.
Internally, a adams.flow.control.LocalScopeTrigger is used to manage the scope.
|
LoadBalancer |
Runs the specified 'load actor' in as many separate threads as specified with the 'num-threads' parameter.
Always uses a copy of the variables.
NB: no callable transformer or sink allowed.
|
LocalScopeSubProcess |
Provides a local scope for the sub-actors.
It is possible to 'propagate' or 'leak' variables and storage items from within the local scope back to the output scope.
|
LocalScopeTee |
Executes the sub-actors whenever a token gets passed through, just like the adams.flow.control.Tee actor, but also provides its own scope for variables and internal storage.
It is possible to 'propagate' or 'leak' variables and storage items from within the local scope back to the output scope.
|
LocalScopeTransformer |
Provides a local scope for the sub-actors.
It is possible to 'propagate' or 'leak' variables and storage items from within the local scope back to the output scope.
|
LocalScopeTrigger |
Executes the sub-actors whenever a token gets passed through, just like the adams.flow.control.Trigger actor, but also provides its own scope for variables and internal storage.
It is possible to 'propagate' or 'leak' variables and storage items from within the local scope back to the output scope.
|
MissionControl |
Displays a control panel for pausing/resuming/stopping the flow.
Useful when executing flows from command-line with the flow runner, offering a minimal control interface.
|
MissionControl.ControlPanel |
Panel for displaying a control panel.
|
MutableConnectedControlActor |
Abstract superclass for actors that allow their sub-actors to modified
(adding, removing, editing).
|
MutableControlActor |
Abstract superclass for actors that allow their sub-actors to modified
(adding, removing, editing).
|
Once |
Tees off a token only once to its sub-actors.
However, this can be reset when the monitored variable changes.
|
PlotContainerUpdater |
Applies all sub-actors to process either the selected value of the plot container.
|
PlotProcessor |
Applies the specified processing algorithm to the stream of plot containers passing through.
|
RaiseError |
Raises a java.lang.Error if the condition evaluates to 'true', using the provided error message.
See also:
adams.flow.control.TryCatch
Input/output:
- accepts:
adams.flow.core.Unknown
- generates:
adams.flow.core.Unknown
|
Rejector |
Rejects data containers with errors attached.
|
RemoteExecutionTrigger |
Transfers the actors below itself, the specified storage items and variables using the specified connection for remote execution.
Uses the adams.scripting.command.flow.RemoteFlowExecution remote command behind the scenes.
|
RemoveOutliers |
Allows the user to interactively remove outliers.
You can toggle the 'outlier' state of individual points by left-clicking them.You can also toggle whole regions by selecting a polygon around them: use SHIFT+left-click to place vertices and SHIFT+right-click to finish the polygon.
|
RunningFlowsRegistry |
Used for registering running flows.
|
Sequence |
Encapsulates a sequence of flow items.
|
SequentialDirector |
Manages the execution of actors in sequential order.
|
SetContainerValue |
Updates a single item in the container passing through, using either the data obtained from a callable actor or a storage item.
Using the 'force' option, additional meta-data can be stored in the container as well.
|
SinkReset |
Resets all sub-actors in case the monitored variable changed since the last execution.
|
Sleep |
Waits for a fixed amount of milliseconds.
|
SourceReset |
Resets all sub-actors in case the monitored variable changed since the last execution.
|
Stop |
Stops the execution of the flow when triggered.
|
Storage |
Used for temporary storage during flow execution.
|
StorageName |
Wrapper around the name of a storage item (= string).
|
StorageQueueHandler |
|
StorageQueueHandler.QueueItem |
Container for queueing objects.
|
StorageValueSequence |
After executing a sequence of actors, the stored item is forwarded in the flow.
|
SubProcess |
Encapsulates a sequence of flow items.
|
SubProcess.SubProcessDirector |
A specialized director for the SubProcess actor.
|
Switch |
Emulates a Switch control statement.
|
Switch.SwitchDirector |
A specialized director for the Switch control actor.
|
Tee |
Allows to tap into the flow and tee-off tokens.
|
TimedSubProcess |
Encapsulates a sequence of flow items.
|
TimedTee |
Allows to tap into the flow and tee-off tokens.
Times how long the sub-flow execution takes and sends the time in milli-seconds (as double) in a adams.flow.container.TimingContainer container to the specified callable actor.
|
TimedTrigger |
Executes the subs-actors whenever a token gets passed through.
|
TransformerReset |
Resets all sub-actors in case the monitored variable changed since the last execution.
|
Trigger |
Executes the tee-actor whenever a token gets passed through.
|
TriggerEvent |
Triggers the specified event.
|
TriggerOnce |
Triggers the sub-flow only once.
However, this can be reset when the monitored variable changes.
|
TryCatch |
Safe-guards the execution of the 'try' sequence of actors.
|
UpdateCallableDisplay |
Updates callable display actors that implement adams.flow.core.DataPlotUpdaterHandler.
|
UpdateContainerValue |
Applies all sub-actors to process the specified value of the container passing through.
|
UpdateProperties |
Updates the properties of the sub-actor using the values associated with the specfiied variables.
|
VariableNameStorageNamePair |
Wrapper for a variable name/storage name pair.
|
WhileLoop |
Emulates a while-loop.
|