Interface IExecutionResultDescriptor
-
- All Known Subinterfaces:
IBaseActionClientHandlerNode<TData>
,IBaseActionNode<TData>
,IBaseConditionClientHandlerNode<TData>
,IBeanValidatingNode<TData>
,IBuiltinNodeType<TData>
,IDefaultClientHandlerNode<TData>
,IExecutingLikeActionNode<TData>
,IExecutingLikeBinarySelectionNode<TData>
,IExecutingLikeExceptionHandlerNode<TData>
,IExecutingLikeMultiSwitchNode<TData>
,IExecutingLikeReturningActionNode<TData>
,IExecutingLikeReturnNode<TData>
,IExecutingLikeSequenceNode<TData>
,IExecutingLikeThrowNode<TData>
,IFcChangeFormAvailabilityDescriptors
,IFcChangeFormValueDescriptors
,IFcChangeStateDescriptors
,IFcCompressAsZipDescriptors
,IFcCopyFormRecordDescriptors
,IFcCounterDescriptor
,IFcCreateTextFileDescriptors
,IFcDecodeBase64Descriptor
,IFcDoiInitDescriptor
,IFcEmailDescriptors
,IFcEncodeBase64Descriptor
,IFcExportToPersistenceDescriptors
,IFcExportToXmlDescriptors
,IFcFillPdfDescriptors
,IFcFillWordDescriptors
,IFcHttpRequestDescriptors
,IFcImportFormValueFromXmlDescriptors
,IFcLdapQueryDescriptors
,IFcLogEntryDescriptor
,IFcMoveFormRecordToInboxDescriptors
,IFcProcessLogPdfDescriptor
,IFcProvideResourceDescriptors
,IFcQueueTaskDescriptors
,IFcRedirectDescriptors
,IFcRenewProcessIdDescriptors
,IFcReturnFileDescriptors
,IFcSaveToFileSystemDescriptors
,IFcSaveToWebDavDescriptors
,IFcSetSavedFlagDescriptor
,IFcShowTemplateDescriptors
,IFcSqlStatementDescriptors
,IFcThrowExceptionDescriptors
,IFcWriteFormRecordAttrDescriptors
,IFileProviding<TData>
,IHierarchyValidatingNode<TData>
,INodeHandler<TData>
,IOfficialHelpPageNode<TData>
,IPluginActionNodeHandler<TData>
,IPluginConditionNodeHandler<TData>
,IResultlessNode<TData>
,ISemverUpdatingNode<TData>
,ISingleBaseActionBuiltinNodePrototype<TData>
,ISingleBaseActionNodePrototype<TData>
,ISingleBaseConditionNodePrototype<TData>
,ISingleBuiltinNodePrototype<TData>
,ISingleNodePrototype<TData>
- All Known Implementing Classes:
APluginActionNodeHandler
,APluginConditionNodeHandler
,FcChangeFormAvailabilityHandler
,FcChangeFormValueHandler
,FcChangeStateHandler
,FcCompressAsZipHandler
,FcCopyFormRecordHandler
,FcCounterHandler
,FcCreateTextFileHandler
,FcDecodeBase64Handler
,FcDeleteFormRecordHandler
,FcDoiInitHandler
,FcEmailHandler
,FcEmptyHandler
,FcEncodeBase64Handler
,FcExperimentHandler
,FcExportToPersistenceHandler
,FcExportToXmlHandler
,FcFillPdfHandler
,FcFillWordHandler
,FcHttpRequestHandler
,FcImportFormValueFromXmlHandler
,FcLdapQueryHandler
,FcLogEntryHandler
,FcMoveFormRecordToInboxHandler
,FcMultipleConditionHandler
,FcProcessLogPdfHandler
,FcProvideResourceHandler
,FcQueueTaskHandler
,FcRedirectHandler
,FcRenewProcessIdHandler
,FcReturnFileHandler
,FcReturnHandler
,FcSaveToFileSystemHandler
,FcSaveToWebDavHandler
,FcSequenceHandler
,FcSetSavedFlagHandler
,FcShowTemplateHandler
,FcSqlStatementHandler
,FcSwitchCaseHandler
,FcSwitchDefaultHandler
,FcSwitchHandler
,FcThrowExceptionHandler
,FcWriteFormRecordAttrHandler
,RedirectToClientInboxNodePlugin
,RedirectToFormRecordNodePlugin
public interface IExecutionResultDescriptor
Each action may create data when it is executed, that describe the result of the action. This may include, for example, a status message or a list of values fetched from a network. This interface contains the descriptors that describe the type of data that is created in case the action succeeds and fails. This descriptor is used to show the user in the designer an overview of the available results.You can create the descriptor on demand when the methods of this interface are called, but no guarantees are made as to whether or how much the descriptors are cached. The value descriptors created by the default
ValueDescriptorFactory
are immutable, so you may create them once and store them in a static field. UseValueDescriptorFactory#getInstance()
for creating the descriptors.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default IValueDescriptor<?,? extends IValueBuilder<?>>
getAlwaysValueDescriptor(IValueDescriptorFactory factory)
Creates 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.IUnionValueDescriptor<String>
getErrorValueDescriptor(IValueDescriptorFactory factory)
The union descriptor for the different error types that may occur when the node is executed.default IFileValueDescriptor
getFileValueDescriptor()
default IUnionValueDescriptor<String>
getSoftErrorValueDescriptor(IValueDescriptorFactory factory)
The union descriptor for the differentsoft error
types that may occur when the node is executed.IValueDescriptor<?,? extends IValueBuilder<?>>
getSuccessValueDescriptor(IValueDescriptorFactory factory)
-
-
-
Method Detail
-
getAlwaysValueDescriptor
default IValueDescriptor<?,? extends IValueBuilder<?>> getAlwaysValueDescriptor(IValueDescriptorFactory factory)
Creates 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. The default implementation returnsIValueDescriptorFactory.voidish()
, i.e no additional result.- 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.- 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.
-
getErrorValueDescriptor
IUnionValueDescriptor<String> getErrorValueDescriptor(IValueDescriptorFactory factory)
The union descriptor for the different error types that may occur when the node is executed. Each discriminator of the union represents an error or exception type.factory.recordBuilder() // .requiredProperty("errorCode", factory.integer()) // .requiredProperty("errorMessage", factory.string()) // .requiredProperty("localizedMessage", factory.integer()); return factory.add("CONNECT_TIMEOUT", error) // .add("READ_TIMEOUT", error);
The example above uses the same data type for each error, but you can return different data depending on the error type.Note that you do not have to include a general error code. When the
execute
method of a node handler throws an unhandled (runtime) exception, the error codeCmnConst.Workflow.ERROR_CODE_GENERAL
is set automatically.- 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.- 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).
-
getFileValueDescriptor
default IFileValueDescriptor getFileValueDescriptor()
- Returns:
- Descriptor for the file or files that are created and made available to other actions when the node is
executed. Should return
null
when the node provides node files.
-
getSoftErrorValueDescriptor
default IUnionValueDescriptor<String> getSoftErrorValueDescriptor(IValueDescriptorFactory factory)
The union descriptor for the differentsoft error
types that may occur when the node is executed. Each discriminator of the union represents an error or exception type.factory.recordBuilder() // .requiredProperty("errorCode", factory.integer()) // .requiredProperty("errorMessage", factory.string()) // .requiredProperty("localizedMessage", factory.integer()); return factory.add("MISSING_UPLOAD", error) // .add("CLIENT_ERROR", error);
The example above uses the same data type for each error, but you can return different data depending on the error type.- 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.- 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.
- Since:
- 7.0.7
-
getSuccessValueDescriptor
IValueDescriptor<?,? extends IValueBuilder<?>> getSuccessValueDescriptor(IValueDescriptorFactory factory)
- 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.- Returns:
- The value descriptor for that data that is made available to the workflow when the node is executed successfully.
-
-