Runtime components : Core components : Flows : Reference : Flow processor external definitions
  
Flow processor external definitions
The Automaton's entities, flow processor, states, actions, transitions, and guard conditions use the following tags and attributes.
Note There are three different tags for actions, and two for transitions. The extra tags allow you to group actions and transitions to improve legibility and comprehensibility of the processor definition.
For the tags used by the HTML flow processor, see the external definitions in the Struts Extensions documentation.
<processor> tag attributes
id
The name of the processor. This is a mandatory attribute.
context
The name of the context used by this processor. This is a mandatory attribute. The context definition is either in the generic context file or, if the processor is self-defined, in the file that contains the processor definition. See Tag linking.
cleanEventsQueue
OnSwitch
A boolean that determines whether the processor purges the events queue or keeps events from the state that processor was in when the event was generated. If this attribute is false, the processor carries the events forward through the transition into the target state. The default value is true.
implClass
The fully qualified class name of the processor class that the toolkit is to instantiate.
refFlow
The identifier of the reusable flow that contains the set of states for the process. The processor definition may contain the flow as aggregated subtags or within a specific flow tag so that other processors can reference it. See Tag linking.
<state> tag
id
The name of the state. This is a mandatory attribute.
type
The type of state. If a state does not have this attribute, the state is part of the flow between the initial state and a final state. The values for this attribute are:
initial - The starting state for the processor. A Processor has only initial state.
final - The ending state for the processor. A Processor has at least one final state.
You can extend this attribute to accept other values. See the <HtmlState> tag for examples of other values.
typeIdInfo
A value that provides specific information related to the value of the type attribute. For example, if the type="final" and the processor is a subflow of another processor, this attribute can contain the name of the exit event that triggers the parent processor to transition to its next state. For more examples of how you can use this attribute, see typeIdInfo in the <HtmlState> tag.
<entryActions> tag
[none]
A container tag for one or more Action tags. These Action tags define the entry actions of a state.
<actions> tag
[none]
A container tag for one or more Action tags.
Action tags
The name of the tag is the alias for the action defined in the toolkit definition file. For example, the alias for the CloseViewAction class is closeViewAct so the tag name is <closeViewAct>.
id
The identifier of the action. This is a mandatory attribute. Usually the value of this attribute is the same as the tag name unless it is used to distinguish between two actions of the same type that execute different operations.
The toolkit uses the identifier as the notifier name when there are definitions for the transitions related to events fired by the action.
context
The name of the context definition the toolkit is to assign to the action. The context definition can be in the generic context file or, if the processor is self-defined, in the file that contains the processor definition.
[an optional set of parameters]
Each parameter is a Hashtable to define values that the action needs. For example, an OpenView action needs the name of the view used to do withdrawal. In this case, the tag would have the following attribute and value:
viewName="withdrawalPanel"
<transitions> tag
[none]
A container tag for one or more transition tags.
<transition> tag
id
The identifier of the event associated with the transition such as hostService.closed. It is usually a concatenation of the name of the notifier that generates the event and the event name. The notifier can also be a service available in the context hierarchy, the action being executed by the processor, or the state itself. This is a mandatory attribute.
propagateEvent
A boolean that determines whether the processor propagates the event to the next handler in the chain of handlers interested in the event. This attribute applies when the toolkit notification mechanism dispatches the processor. The default value is true.
targetState
The state that the processor is in after completing the transition. The flow modifiers defined in the changeState("targetState") or execAndChangeState("targetState") guard conditions can override this attribute. This is a mandatory attribute.
ignoreEntry
Actions
A boolean that determines whether the target state performs its entry actions. Use this attribute when the processor may enter the target state during the flow and the state only needs to perform its entry actions once. The default value is false.
[an optional set of parameters]
Each parameter is a Hashtable to define values that the transition needs.
Condition tags <condition tag name>
The name of the tag is the alias for the evaluating class defined in the toolkit definition file.
onTrue
Sets the flow modifier that applies when the evaluation of the condition returns true. The possible values are:
continue - (default) The flow resumes by evaluating the next condition associated with the action.
skipConditions - The flow resumes by skipping all the conditions associated with the action and executes the action.
skipAction - The flow resumes by skipping the action and processing the next action.
skipAllActions - The flow resumes by skipping all the actions and moving to the target state that is defined for configured to the transition.
changeState("targetStateName") - The Processor exits the current state and moves into the given targetStateName without executing the action.
execAndChangeState("targetStateName") - The Processor executes the action, exits the current state, and moves to the given targetStateName.
abortProcess - The current state and the processor are aborted. This should only be used in very seldom cases when an exceptional event happens.
onFalse
Sets the flow modifier that applies when the evaluation of the condition returns true. The possible values are the same as the onTrue attribute.
<flow> tag
id
The name of the reusable flow referenced by the processor. It is a container for the process states, which in turn contain the definitions for actions, transitions and conditions. See refFlow in the processor definition. This is a mandatory attribute.
<openView> tag
viewName
The name of the view to open. The view externalizer reads a tag in a file to initialize the view.
viewSource
Full path to the file containing the definition of the view.
linkContextTo
The context instance to which the toolkit chains the panel's context. The possible values are keywords that identify context instances and not context names. The possible values are:
processor - (default) The toolkit chains the panel context to the processor context.
activeView - The toolkit chains the panel context to the context of the active view. The navigation controller, which is available in the processor context, can identify the active view.
parentActiveView - The toolkit chains the panel context to the context of the parent of the active view.
If the panel does not have its own context defined, the action assigns a context to the panel.
inputMapFmt
The name of the format the toolkit applies to data being moved from the action context to the panel context.
navigation
The navigation mode, which determines the next active view when the panel is canceled. The possible values are:
[no value] - (default)
peer - The navigation controller puts the parent of the active view in focus.
child - The navigation controller puts the active view in focus.
<closeView> tag
outputMapFmt
The name of the format the toolkit applies to data being moved from the active view context to the action context before closing the panel.
<executeSubflowAct> tag
processor
The name of the processor to execute.
inputMapFmt
The name of the format the toolkit applies to data being moved from the processor context to the subprocessor context before executing the subprocessor.
outputMapFmt
The name of the format the toolkit applies to data being moved from the subprocessor context to the processor context after executing the subprocessor.
See also
Reference