Package de.xima.fc.workflow.mixin
Interface IBaseActionNode<TData extends BaseActionProps>
-
- Type Parameters:
TData
- Type of the node's properties model.
- All Superinterfaces:
IBeanValidatingElement<TData,WorkflowNode>
,IBeanValidatingNode<TData>
,ICustomParametersUpdateable
,IElementHandler<TData,WorkflowNode>
,IExecutionResultDescriptor
,IHierarchyValidatingNode<TData>
,INodeHandler<TData>
,IResourceBundleLocator
,IWorkflowElementTypeProviding
,IWorkflowNodeFlowAnalyzer<TData>
,IWorkflowNodeTypeProviding
- All Known Subinterfaces:
IPluginActionNodeHandler<TData>
- All Known Implementing Classes:
APluginActionNodeHandler
,FcChangeFormAvailabilityHandler
,FcChangeFormValueHandler
,FcChangeStateHandler
,FcCompressAsZipHandler
,FcCopyFormRecordHandler
,FcCounterHandler
,FcCreateTextFileHandler
,FcDecodeBase64Handler
,FcDeleteFormRecordHandler
,FcDoiInitHandler
,FcEmailHandler
,FcEncodeBase64Handler
,FcExportToPersistenceHandler
,FcExportToXmlHandler
,FcFillPdfHandler
,FcFillWordHandler
,FcHttpRequestHandler
,FcImportFormValueFromXmlHandler
,FcLdapQueryHandler
,FcLogEntryHandler
,FcMoveFormRecordToInboxHandler
,FcProcessLogPdfHandler
,FcProvideResourceHandler
,FcQueueTaskHandler
,FcRedirectHandler
,FcRenewProcessIdHandler
,FcReturnFileHandler
,FcReturnHandler
,FcSaveToFileSystemHandler
,FcSaveToWebDavHandler
,FcSetSavedFlagHandler
,FcShowTemplateHandler
,FcSqlStatementHandler
,FcThrowExceptionHandler
,FcWriteFormRecordAttrHandler
,RedirectToClientInboxNodePlugin
,RedirectToFormRecordNodePlugin
public interface IBaseActionNode<TData extends BaseActionProps> extends INodeHandler<TData>, IBeanValidatingNode<TData>
Node logic handler for actions with a properties model that inherit fromBaseActionProps
. This is the closest approximation to the actions of the old workflow engine.For normal actions that do not always throw or return, consider using the mixin
IExecutingLikeActionNode
.If you wish to use the default UI for actions, consider using the mixin
IDefaultClientHandlerNode
.If you only wish to provide a single prototype in the drawer panel to the left of the workflow designer, consider using the mixin
ISingleBaseActionNodePrototype
.- Since:
- 7.0.0
- Author:
- XIMA MEDIA GmbH
- See Also:
IExecutingLikeActionNode
,ISingleBaseActionNodePrototype
,IDefaultClientHandlerNode
-
-
Field Summary
-
Fields inherited from interface de.xima.fc.interfaces.workflow.elements.IElementHandler
CURRENT_HANDLER_VERSION
-
-
Method Summary
All Methods Instance Methods Default Methods Modifier and Type Method Description default boolean
isValidChildCount(WorkflowNode node, int childCount)
Checks whether the givennumber of children
is allowed.default boolean
isValidChildType(WorkflowNode node, int childIndex, String nodeType)
Checks whether thetype
of a certainworkflow node child
is allowed for that node.default boolean
isValidParentType(WorkflowNode node, String nodeType)
default IWorkflowElementValidationResult
validateLocal(IElementLocalValidationParams<TData,WorkflowNode> params)
Performs a local validation of the given workflow workflow element properties.-
Methods inherited from interface de.xima.fc.interfaces.workflow.mixin.IBeanValidatingElement
getValidationGroups
-
Methods inherited from interface de.xima.fc.interfaces.workflow.ICustomParametersUpdateable
updateCustomParams
-
Methods inherited from interface de.xima.fc.interfaces.workflow.elements.IElementHandler
extractDescription, extractName, extractSearchTerms, getCascadingStyleSheet, getCascadingStyleSheet, getDataModelClass, getDisplayLabel, getElementSummaryModel, getElementSummaryXhtml, getFastJsonConverter, getFilterCriteriaForEntities, getHelpPageLocation, getJavaScript, getJavaScript, getPropertiesViewXhtml, getResourceBundle, getVersion, isAvailable, readEntityReferences, readPlaceholders, validateGlobal, writeEntityReferences, writePlaceholders
-
Methods inherited from interface de.xima.fc.interfaces.workflow.execution.IExecutionResultDescriptor
getAlwaysValueDescriptor, getErrorValueDescriptor, getFileValueDescriptor, getSoftErrorValueDescriptor, getSuccessValueDescriptor
-
Methods inherited from interface de.xima.fc.interfaces.workflow.nodes.INodeHandler
execute, getLocalizedTypeName, getNodePrototypes, getPropertiesBeanClass, getRelatedNodeTypes, isCreateProtocolEntryAfterExecution, isReplacePlaceholderBeforeExecution
-
Methods inherited from interface de.xima.fc.interfaces.workflow.IWorkflowElementTypeProviding
getType
-
Methods inherited from interface de.xima.fc.interfaces.workflow.analysis.IWorkflowNodeFlowAnalyzer
createFlowGraph
-
-
-
-
Method Detail
-
isValidChildCount
default boolean isValidChildCount(WorkflowNode node, int childCount)
Description copied from interface:IHierarchyValidatingNode
Checks whether the givennumber of children
is allowed. The default implementation enforces no restriction on the number of children.- Specified by:
isValidChildCount
in interfaceIHierarchyValidatingNode<TData extends BaseActionProps>
- Parameters:
node
- The parent node with the children to check.childCount
- The number of children of the node node.- Returns:
true
if the number of children are allowed.
-
isValidChildType
default boolean isValidChildType(WorkflowNode node, int childIndex, String nodeType)
Description copied from interface:IHierarchyValidatingNode
Checks whether thetype
of a certainworkflow node child
is allowed for that node. The default implementation enforces no restriction on the child type.- Specified by:
isValidChildType
in interfaceIHierarchyValidatingNode<TData extends BaseActionProps>
- Parameters:
node
- The parent node with the children to check.childIndex
- 0-based index of the child to check.nodeType
- Node type of the child to check.- Returns:
true
if the child type is allowed.
-
isValidParentType
default boolean isValidParentType(WorkflowNode node, String nodeType)
Description copied from interface:IHierarchyValidatingNode
Checks whether thetype
of a certainparent
is allowed for that node. The default implementation enforces no restriction on the parent type.- Specified by:
isValidParentType
in interfaceIHierarchyValidatingNode<TData extends BaseActionProps>
- Parameters:
node
- The node with the parent to check.nodeType
- Node type of the parent to check. Empty string when the node does not have a parent.- Returns:
true
if the parent type is allowed.
-
validateLocal
default IWorkflowElementValidationResult validateLocal(IElementLocalValidationParams<TData,WorkflowNode> params) throws WorkflowValidationException
Description copied from interface:IElementHandler
Performs a local validation of the given workflow workflow element properties. This method should only validate the properties of the given workflow element, without respect to any other workflow elements.This method allows you to implement custom validation logic. Consider using
IBeanValidatingElement
and annotating your properties model class with the annotation from the bean annotation APIjavax.validation
. This also offers the advantage that it can be integrated into JSF, allowing you to use the same validations for the UI view as well.- Specified by:
validateLocal
in interfaceIBeanValidatingElement<TData extends BaseActionProps,WorkflowNode>
- Specified by:
validateLocal
in interfaceIBeanValidatingNode<TData extends BaseActionProps>
- Specified by:
validateLocal
in interfaceIElementHandler<TData extends BaseActionProps,WorkflowNode>
- Specified by:
validateLocal
in interfaceIHierarchyValidatingNode<TData extends BaseActionProps>
- Parameters:
params
- The properties to validate. Also provides access to the project, client etc.- Returns:
- The result of the validation, i.e. whether the workflow element is valid, and a list of messages to display
to the user. If this returns, this is treated as if a valid result without messages had been returned. You may use
use params.
getValidationContext()
.resultBuilder()
to create the result, or implement the interface yourself. To indicate that the validation was performed, but no validation constraints were violated, simply callbuild
on the result builder and return that, without adding any messages. - Throws:
WorkflowValidationException
- When the validation could not be performed. Please note that this is meant for unexpected errors only - you should not throw an exception if a workflow element is simply just invalid.
-
-