Package de.xima.fc.interfaces.workflow.mixin
The workflow engine is generic in the sense that it never checks the type of a
trigger or
node for special types, all logic is implemented in terms
of the ITriggerHandler and
INodeHandler interfaces. All built-in workflow triggers and
nodes are implemented purely in terms of this interface. This ensures that all features usable by built-in triggers
and nodes can also be used by plugins. On the downside, this requires the interfaces to have an extensive collection
of methods.
To ease implementation, this package provides several basic mixins.
The package de.xima.fc.workflow.mixin from the workflow-processor module provided more
specialized mixins.
-
Interface Summary Interface Description IBeanValidatingElement<TData,TElement extends IWorkflowElementEntity> Mixin that implementsIElementHandler.validateLocal(IElementLocalValidationParams)by performing a bean validation on theIWorkflowElementWithDeserializedModel.getData().IBeanValidatingNode<TData> Mixin that implementsIElementHandler.validateLocal(IElementLocalValidationParams)by performing a bean validation on the node's properties model.IBeanValidatingTrigger<TData> Mixin that implementsIElementHandler.validateLocal(IElementLocalValidationParams)by performing a bean validation on the trigger's properties model.IElementCategory Models a category for a workflow element, such as a node or trigger.IExecutingLikeActionNode<Model> Mixin with the implementation ofcreateFlowGraphfornode handlersthat have no children and simply execute some business logic.IExecutingLikeBinarySelectionNode<TData> Mixin with the implementation ofcreateFlowGraphfornode handlersthat execute one of its two children based on a test, such as an if-else node.IExecutingLikeControlTransferNode<TData> Mixin with the implementation ofcreateFlowGraphfornode handlersthat have no children and simply always transfer control to another node, such as a break or continue statement.IExecutingLikeExceptionHandlerNode<TData> Mixin with the implementation ofcreateFlowGraphfornode handlersthat attempt to execute its body child node, and run another child if the child completed abruptly by throwing an exception, optionally always running a finalizer block at the end, such as a try-catch(-finally) block.IExecutingLikeMultiSwitchNode<TData> Mixin with the implementation ofcreateFlowGraphfornode handlersthat execute their children like a switch statement.IExecutingLikePostTestLoopNode<TData> Mixin with the implementation ofcreateFlowGraphfornode handlersthat execute their child in a post-test loop, such as a do-until loop.IExecutingLikePreTestLoopNode<TData> Mixin with the implementation ofcreateFlowGraphfor logic handlers that execute their child in a pre-test loop, such as a while loop or a for-each loop.IExecutingLikeReturningActionNode<TData> Mixin with the implementation ofcreateFlowGraphfornode handlersthat have no children and always complete abruptly by either throwing an exception or issuing a return statement.IExecutingLikeReturnNode<TData> Mixin with the implementation ofcreateFlowGraphfornode handlersthat have no children and always complete abruptly by issuing a return statement.IExecutingLikeSequenceNode<TData> Mixin with the implementation ofcreateFlowGraphfornode handlersthat have no children and always complete abruptly by issuing a return statement.IExecutingLikeThrowNode<TData> Mixin with the implementation ofcreateFlowGraphfornode handlersthat have no children and always complete abruptly by throwing an exception.IFileProviding<TData> Deprecated. This should be implemented together withgetSuccessValueDescriptoretc., e.g.IHierarchyValidatingNode<TData> Mixin that implementsIElementHandler.validateLocal(IElementLocalValidationParams)by performing checks on the number of children and the type of the children, as well as the type of the parent (if any).IKeyValueSummarizableElement<TData,TElement extends IWorkflowElementEntity> Mixin that implementsIElementHandler.getElementSummaryXhtml()andIElementHandler.getElementSummaryModel(IGetElementSummaryParams)for nodes and triggers that wish to provide a simple key value based overview.IKeyValueSummarizableNode<TData> AIKeyValueSummarizableElementfor workflow nodes.IKeyValueSummarizableTrigger<TData> AIKeyValueSummarizableElementfor workflow nodes.ILoopStatementMustLoopValidating<TData> Mixin with an implementation ofvalidateGlobalfornode handlersthat implement some kind of loop and wish to enforce that a loop is actually possible.IOfficialHelpPageElement<TData,TElement extends IWorkflowElementEntity> Mixin that implementsIElementHandler.getHelpPageLocation(Locale)by returning a link to the official help pages.IOfficialHelpPageNode<TData> Mixin for nodes that implementsIElementHandler.getHelpPageLocation(Locale)by returning a link to the official help pages.IOfficialHelpPageTrigger<TData> Mixin for nodes that implementsIElementHandler.getHelpPageLocation(Locale)by returning a link to the official help pages.IResultlessNode<TData> Mixin for nodes that neither return a result nor do throw an error.ISemverUpdating<TData,TElement extends IWorkflowElementEntity> AISequentialUpdatingthat interprets the version string as aSemverand updates the properties model according to the previous and current semantic version.ISemverUpdatingNode<TData> AISemverUpdatingforWorkflowNodehandlers.ISemverUpdatingTrigger<TData> AISemverUpdatingforWorkflowTriggerhandlers.ISequentialUpdating<TData,TElement extends IWorkflowElementEntity,TVersion extends Comparable<TVersion>> ImplementsICustomParametersUpdateable.updateCustomParams(IUpdateCustomParametersParams)by running the transitions (upgrades) between the previous and the current version.ISingleElementPrototype<TData,TElement extends IWorkflowElementEntity> Element handler mixin for cases when a handler only wishes to provide a single prototype.ISingleNodePrototype<TData> Mixin that implementsINodeHandler.getNodePrototypes(IGetNodePrototypesParams)for cases when a handler only wishes to provide a single prototype.ISingleTriggerPrototype<TData> Mixin that implementsITriggerHandler.getTriggerPrototypes(IGetTriggerPrototypesParams)for cases when a handler only wishes to provide a single prototype.ISpecificTriggerListener<TData> Mixin interface for triggers that are invoked only by an external event specifying the ID of the trigger.ISummaryKeyValueModel Model for theIKeyValueSummarizableElementmixin.ISummaryKeyValuePair A key value pair.ISummaryKeyValueText Models text for the theISummaryKeyValueModelthat appears before or after the main table.IUpdateTransition Performs an upgrade from a previous version to a newer version.