To define a flow processor, do the following:
- Add the flow processor definition to the toolkit processors definition
(dseproc.xml) file. The following example defines a processor
named processName.
<processor id="processName"
cleanEventsQueueOnSwitch="true|false"
context="processNameCtxt"implClass="myPackage.MyProcessorClass">
<state id="stateName" type="stateType"
typeIdInfo="stateTypeIdInfo">
<entryActions>
<actionTag actionAttribute1="value"
actionAttribute2="value"
context="contextName">
<conditions>
<cond1 onTrue="continue" onFalse="skipAction"/>
<cond2 onTrue="continue" onFalse="skipAllActions"/>
<cond3 onTrue="continue" onFalse="skipConditions"/>
<cond4 onTrue="continue" onFalse="abortProcess"/>
<cond5 onTrue="continue"
onFalse="execAndChangeState(stateId)"/>
<cond6 onTrue="continue"
onFalse="changeState(stateId)"/>
</conditions>
</actionTag>
</entryActions>
<transitions>
<transition id="eventId" propagateEvent="true|false"/>
<actions>
<actionTag actionAttribute1="value"
actionAttribute2="value">
<conditions>
<cond1 onTrue="continue" onFalse="skipAction"/>
<cond2 onTrue="changeState(stateId)"
onFalse="skipAction">
</conditions>
</actionTag>
</actions>
</transition>
</transitions>
</state>
...
<! more states>
<iniValue name="dataFieldPath" value="iniValueForDataField"
/>...
</processor>
In this definition, the value of the implClass attribute in the
processor tag means that the toolkit instantiates the myPackage.MyProcessorClass
to create the processor instance. The processor externalizer updates the instance
with the attributes and subtags contained in this file.
- In the toolkit context definition file, create a definition for
the context that the processor uses to store data.
- In the toolkit format definition file, create definitions for the
formats used to move data into and out of the context.