Interface IRefinedExecutionResultDescriptor<Model>
-
- Type Parameters:
Model
- Type of the properties model for the node.
- All Known Subinterfaces:
IBaseActionClientHandlerNode<TData>
,IBaseActionNode<TData>
,IBaseConditionClientHandlerNode<TData>
,IBaseDoUntilLoopClientHandlerNode<TData>
,IBaseWhileLoopClientHandlerNode<TData>
,IBeanValidatingNode<TData>
,IBuiltinNodeType<TData>
,IDefaultClientHandlerNode<TData>
,IExecutingLikeActionNode<TData>
,IExecutingLikeBinarySelectionNode<TData>
,IExecutingLikeControlTransferNode<TData>
,IExecutingLikeExceptionHandlerNode<TData>
,IExecutingLikeMultiSwitchNode<TData>
,IExecutingLikePostTestLoopNode<TData>
,IExecutingLikePreTestLoopNode<TData>
,IExecutingLikeReturningActionNode<TData>
,IExecutingLikeReturnNode<TData>
,IExecutingLikeSequenceNode<TData>
,IExecutingLikeThrowNode<TData>
,IFcCompressAsZipDescriptors
,IFcCreateTextFileDescriptors
,IFcDecodeBase64Descriptor
,IFcEmailDescriptors
,IFcExportToPersistenceDescriptors
,IFcExportToXmlDescriptors
,IFcFillPdfDescriptors
,IFcFillWordDescriptors
,IFcForEachLoopDescriptors
,IFcHttpRequestDescriptors
,IFcProcessLogPdfDescriptor
,IFcProvideResourceDescriptors
,IFileProviding<TData>
,IHierarchyValidatingNode<TData>
,ILoopStatementMustLoopValidating<TData>
,IMultipleCheckPropertiesNode<TData>
,INodeHandler<TData>
,IOfficialHelpPageNode<TData>
,IPluginActionNodeHandler<TData>
,IPluginConditionNodeHandler<TData>
,IPluginDoUntilLoopNodeHandler<TData,TState>
,IPluginWhileLoopNodeHandler<TData,TState>
,IResultlessNode<TData>
,ISemverUpdatingNode<TData>
,ISingleBaseActionBuiltinNodePrototype<TData>
,ISingleBaseActionNodePrototype<TData>
,ISingleBaseConditionNodePrototype<TData>
,ISingleBaseDoUntilLoopNodePrototype<TData>
,ISingleBaseWhileLoopNodePrototype<TData>
,ISingleBuiltinNodePrototype<TData>
,de.xima.fc.workflow.retval.node.ISingleFileProvisionFileDescriptor<Model>
,ISingleNodePrototype<TData>
- All Known Implementing Classes:
APluginActionNodeHandler
,APluginConditionNodeHandler
,APluginDoUntilLoopNodeHandler
,APluginWhileLoopNodeHandler
,FcBreakHandler
,FcChangeFormAvailabilityHandler
,FcChangeFormValueHandler
,FcChangeStateHandler
,FcCompressAsZipHandler
,FcContinueHandler
,FcCopyFormRecordHandler
,FcCounterHandler
,FcCreateTextFileHandler
,FcDecodeBase64Handler
,FcDeleteAttachmentHandler
,FcDeleteFormRecordHandler
,FcDoiInitHandler
,FcDoUntilLoopHandler
,FcEmailHandler
,FcEmptyHandler
,FcEncodeBase64Handler
,FcExperimentHandler
,FcExportToPersistenceHandler
,FcExportToXmlHandler
,FcFillPdfHandler
,FcFillWordHandler
,FcForEachLoopHandler
,FcHttpRequestHandler
,FcImportFormValueFromXmlHandler
,FcLdapQueryHandler
,FcLogEntryHandler
,FcMoveFormRecordToInboxHandler
,FcMultipleConditionHandler
,FcProcessHistoryPdfHandler
,FcProcessLogPdfHandler
,FcProvideResourceHandler
,FcQueueTaskHandler
,FcRedirectHandler
,FcRenewProcessIdHandler
,FcReturnFileHandler
,FcReturnHandler
,FcSaveToFileSystemHandler
,FcSaveToWebDavHandler
,FcSendFormRecordMessageHandler
,FcSequenceHandler
,FcSetSavedFlagHandler
,FcShowTemplateHandler
,FcSqlStatementHandler
,FcSwitchCaseHandler
,FcSwitchDefaultHandler
,FcSwitchHandler
,FcThrowExceptionHandler
,FcWhileLoopHandler
,FcWriteFormRecordAttrHandler
public interface IRefinedExecutionResultDescriptor<Model>
SeeIExecutionResultDescriptor
for more details. This is similar, but allows the execution result to be refined depending on the node's configuration, i.e. the contents of its property model. For example, a loop node might let the user choose whether to loop over a list of files or a list of strings. Depending on the user's choice, the node's current value might change. By defining a value descriptor for each case, we can show the user only the relevant data for that case.All value descriptors must be compatible with the general descriptors returned by
IExecutionResultDescriptor
. The final value descriptor is obtained by taking the intersection of the general value descriptor with the refined value descriptor, i.e.:intersect
(getSuccessValueDescriptor()
,getSuccessValueDescriptor(model)
)intersect
(getFileValueDescriptor()
,getFileValueDescriptor(model)
)union: string | number
). Depending on the node's configuration, the refined value descriptor could be either just a string or just a number. Or you can use a general file descriptor that allows PDF and Word documents. Depending on the node's configuration, the refined file descriptor could allow either just a PDF document or just a Word document.On the other hand, if general value descriptor were to allow only strings and the refined value descriptor were to allow only booleans, the final value descriptor would evaluate to
intersect(boolean, string) = void
. In other words, the node could not provide data. Any attempts to provide data when the node is executed will be ignored by the workflow engine. Similarly, if the general file value descriptor were to allow only PDF documents and the refined file value descriptor were to allow only Word documents, the final file value descriptor would evaluate tointersect(PDF, Word) = empty
, so no files would be allowed.Note: The value and file descriptors are also used by the UI to inform the UI about the possible return values of a node. By ignoring all provided values incompatible with the value and file descriptor, the workflow engine ensures that the UI agrees with the actual behavior.
- Since:
- 8.2.0
-
-
Method Summary
All Methods Instance Methods Default Methods Modifier and Type Method Description default IValueDescriptor<?,? extends IValueBuilder<?>>
getAlwaysValueDescriptor(IValueDescriptorFactory factory, Model data)
Same asgetAlwaysValueDescriptor
without data, but refined depending on the current node's configuration.default IAttachmentValueDescriptor
getAttachmentValueDescriptor(Model data)
Same asgetAttachmentValueDescriptor
without data, but refined depending on the current node's configuration.default IAttachmentValueDescriptor
getCurrentAttachmentValueDescriptor(Model data)
Same asgetCurrentAttachmentValueDescriptor
without data, but refined depending on the current node's configuration.default IFileValueDescriptor
getCurrentFileValueDescriptor(Model data)
Same asgetCurrentFileValueDescriptor
without data, but refined depending on the current node's configuration.default IValueDescriptor<?,? extends IValueBuilder<?>>
getCurrentValueDescriptor(IValueDescriptorFactory factory, Model data)
Same asgetCurrentValueDescriptor
without data, but refined depending on the current node's configuration.default IUnionValueDescriptor<String>
getErrorValueDescriptor(IValueDescriptorFactory factory, Model data)
Same asgetErrorValueDescriptor
without data, but refined depending on the current node's configuration.default IFileValueDescriptor
getFileValueDescriptor(Model data)
Same asgetFileValueDescriptor
without data, but refined depending on the current node's configuration.default IUnionValueDescriptor<String>
getSoftErrorValueDescriptor(IValueDescriptorFactory factory, Model data)
Same asgetSoftErrorValueDescriptor
without data, but refined depending on the current node's configuration.default IValueDescriptor<?,? extends IValueBuilder<?>>
getSuccessValueDescriptor(IValueDescriptorFactory factory, Model data)
Same asgetSuccessValueDescriptor
without data, but refined depending on the current node's configuration.
-
-
-
Method Detail
-
getAlwaysValueDescriptor
default IValueDescriptor<?,? extends IValueBuilder<?>> getAlwaysValueDescriptor(IValueDescriptorFactory factory, Model data)
Same asgetAlwaysValueDescriptor
without data, but refined depending on the current node's configuration.- Parameters:
factory
- Factory that may be used for creating the descriptor. You may also useValueDescriptorFactory.getInstance()
if you wish to cache the descriptor in a static or instance field.data
- Current properties model of the node.- Returns:
- The value descriptor for that data that is made available to the workflow when the node is executed,
regardless of whether is succeeded or failed. If
null
, the non-refined descriptor is used.
-
getAttachmentValueDescriptor
default IAttachmentValueDescriptor getAttachmentValueDescriptor(Model data)
Same asgetAttachmentValueDescriptor
without data, but refined depending on the current node's configuration.- Parameters:
data
- Current properties model of the node.- Returns:
- The descriptor for the attachment or attachment made available after the node was executed. If
null
, the non-refined descriptor is used.
-
getCurrentAttachmentValueDescriptor
default IAttachmentValueDescriptor getCurrentAttachmentValueDescriptor(Model data)
Same asgetCurrentAttachmentValueDescriptor
without data, but refined depending on the current node's configuration.- Parameters:
data
- Current properties model of the node.- Returns:
- The descriptor for the attachment or attachments made available while the node is being executed. If
null
, the non-refined descriptor is used.
-
getCurrentFileValueDescriptor
default IFileValueDescriptor getCurrentFileValueDescriptor(Model data)
Same asgetCurrentFileValueDescriptor
without data, but refined depending on the current node's configuration.- Parameters:
data
- Current properties model of the node.- Returns:
- The descriptor for the file or files made available while the node is being executed. If
null
, the non-refined descriptor is used.
-
getCurrentValueDescriptor
default IValueDescriptor<?,? extends IValueBuilder<?>> getCurrentValueDescriptor(IValueDescriptorFactory factory, Model data)
Same asgetCurrentValueDescriptor
without data, but refined depending on the current node's configuration.- Parameters:
factory
- Factory that may be used for creating the descriptor. Instead of the factory passed in to this method, you may also useValueDescriptorFactory.getInstance()
if you wish to cache the descriptor in a static or instance field.data
- Current properties model of the node.- Returns:
- The descriptor for data published by the node while it is being executed. If
null
, the non-refined descriptor is used.
-
getErrorValueDescriptor
default IUnionValueDescriptor<String> getErrorValueDescriptor(IValueDescriptorFactory factory, Model data)
Same asgetErrorValueDescriptor
without data, but refined depending on the current node's configuration.- Parameters:
factory
- Factory that may be used for creating the descriptor. You may also useValueDescriptorFactory.getInstance()
if you wish to cache the descriptor in a static or instance field.data
- Current properties model of the node.- Returns:
- The value descriptor for the data that is made available to the workflow when the execution of the node
failed (such as by throwing an exception). If
null
, the non-refined descriptor is used.
-
getFileValueDescriptor
default IFileValueDescriptor getFileValueDescriptor(Model data)
Same asgetFileValueDescriptor
without data, but refined depending on the current node's configuration.- Parameters:
data
- Current properties model of the node.- Returns:
- The descriptor for the file or files made available after the node was executed. If
null
, the non-refined descriptor is used.
-
getSoftErrorValueDescriptor
default IUnionValueDescriptor<String> getSoftErrorValueDescriptor(IValueDescriptorFactory factory, Model data)
Same asgetSoftErrorValueDescriptor
without data, but refined depending on the current node's configuration.- Parameters:
factory
- Factory that may be used for creating the descriptor. You may also useValueDescriptorFactory.getInstance()
if you wish to cache the descriptor in a static or instance field.data
- Current properties model of the node.- Returns:
- The value descriptor for the data that is made available to the workflow when the execution of the node
was successful, but contains one or more soft errors. If
null
, the non-refined descriptor is used.
-
getSuccessValueDescriptor
default IValueDescriptor<?,? extends IValueBuilder<?>> getSuccessValueDescriptor(IValueDescriptorFactory factory, Model data)
Same asgetSuccessValueDescriptor
without data, but refined depending on the current node's configuration.- Parameters:
factory
- Factory that may be used for creating the descriptor. Instead of the factory passed in to this method, you may also useValueDescriptorFactory.getInstance()
if you wish to cache the descriptor in a static or instance field.data
- Current properties model of the node.- Returns:
- The data provided by the node after having been executed successfully. If
null
, the non-refined descriptor is used.
-
-