Interface IHierarchyValidatingNode<TData>
- Type Parameters:
TData- Type of the node's properties model.
- All Superinterfaces:
ICustomParametersUpdateable,IElementHandler<TData,,WorkflowNode> IExecutionResultDescriptor,INodeHandler<TData>,IResourceBundleLocator,IWorkflowElementTypeProviding,IWorkflowNodeFlowAnalyzer<TData>,IWorkflowNodeTypeProviding
- All Known Subinterfaces:
IBaseActionNode<TData>,IBeanValidatingNode<TData>,IPluginActionNodeHandler<TData>,IPluginConditionNodeHandler<TData>
- All Known Implementing Classes:
APluginActionNodeHandler,APluginConditionNodeHandler,FcChangeFormAvailabilityHandler,FcChangeFormValueHandler,FcChangeStateHandler,FcCompressAsZipHandler,FcCopyFormRecordHandler,FcCounterHandler,FcCreateTextFileHandler,FcDecodeBase64Handler,FcDeleteAttachmentHandler,FcDeleteFormRecordHandler,FcDoiInitHandler,FcEmailHandler,FcEncodeBase64Handler,FcExperimentHandler,FcExportToPersistenceHandler,FcExportToXmlHandler,FcFillPdfHandler,FcFillWordHandler,FcHttpRequestHandler,FcImportFormValueFromXmlHandler,FcLdapQueryHandler,FcLogEntryHandler,FcMoveFormRecordToInboxHandler,FcMultipleConditionHandler,FcProcessHistoryPdfHandler,FcProcessLogPdfHandler,FcProvideResourceHandler,FcQueueTaskHandler,FcRedirectHandler,FcRenewProcessIdHandler,FcReturnFileHandler,FcReturnHandler,FcSaveToFileSystemHandler,FcSaveToWebDavHandler,FcSetSavedFlagHandler,FcShowTemplateHandler,FcSqlStatementHandler,FcSwitchCaseHandler,FcSwitchDefaultHandler,FcSwitchHandler,FcThrowExceptionHandler,FcWriteFormRecordAttrHandler
Mixin that implements
IElementHandler.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).- Author:
- XIMA MEDIA GmbH
-
Field Summary
Fields inherited from interface de.xima.fc.interfaces.workflow.elements.IElementHandler
CURRENT_HANDLER_VERSION -
Method Summary
Modifier and TypeMethodDescriptiondefault booleanisValidChildCount(WorkflowNode node, int childCount) Checks whether the givennumber of childrenis allowed.default booleanisValidChildType(WorkflowNode node, int childIndex, String nodeType) Checks whether thetypeof a certainworkflow node childis allowed for that node.default booleanisValidParentType(WorkflowNode node, String nodeType) default IWorkflowElementValidationResultPerforms a local validation of the given workflow workflow element properties.Methods inherited from interface de.xima.fc.interfaces.workflow.ICustomParametersUpdateable
updateCustomParamsMethods 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, isHasUserVisibleName, readEntityReferences, readPlaceholders, validateGlobal, writeEntityReferences, writePlaceholdersMethods inherited from interface de.xima.fc.interfaces.workflow.execution.IExecutionResultDescriptor
getAlwaysValueDescriptor, getAttachmentValueDescriptor, getErrorValueDescriptor, getFileValueDescriptor, getSoftErrorValueDescriptor, getSuccessValueDescriptorMethods inherited from interface de.xima.fc.interfaces.workflow.nodes.INodeHandler
execute, getLocalizedTypeName, getNodePrototypes, getPropertiesBeanClass, getRelatedNodeTypes, isCreateProtocolEntryAfterExecution, isCreateProtocolEntryAfterExecution, isReplacePlaceholderBeforeExecutionMethods inherited from interface de.xima.fc.interfaces.workflow.IWorkflowElementTypeProviding
getTypeMethods inherited from interface de.xima.fc.interfaces.workflow.analysis.IWorkflowNodeFlowAnalyzer
createFlowGraph
-
Method Details
-
isValidChildCount
Checks whether the givennumber of childrenis allowed. The default implementation enforces no restriction on the number of children.- Parameters:
node- The parent node with the children to check.childCount- The number of children of the node node.- Returns:
trueif the number of children are allowed.
-
isValidChildType
Checks whether thetypeof a certainworkflow node childis allowed for that node. The default implementation enforces no restriction on the child type.- 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:
trueif the child type is allowed.
-
isValidParentType
Checks whether thetypeof a certainparentis allowed for that node. The default implementation enforces no restriction on the parent type.- 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:
trueif the parent type is allowed.
-
validateLocal
default IWorkflowElementValidationResult validateLocal(IElementLocalValidationParams<TData, WorkflowNode> params) throws WorkflowValidationExceptionDescription copied from interface:IElementHandlerPerforms 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
IBeanValidatingElementand 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:
validateLocalin interfaceIElementHandler<TData,WorkflowNode> - 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 callbuildon 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.
-