Interface IFcPromptQueryDescriptors

All Superinterfaces:
IExecutionResultDescriptor, IRefinedExecutionResultDescriptor<FcPromptQueryProps>
All Known Implementing Classes:
FcPromptQueryHandler

public interface IFcPromptQueryDescriptors extends IExecutionResultDescriptor, IRefinedExecutionResultDescriptor<FcPromptQueryProps>
The result descriptors for the data returned by the EWorkflowNodeType.FC_PROMPT_QUERY action.

Most of these descriptors are dynamically generated from the output of the selected prompt query.

Since:
8.5.0
Author:
XIMA MEDIA GmbH
  • Field Details

    • ATTR_PROMPT_TYPE

      static final String ATTR_PROMPT_TYPE
      The type of the prompt query, when no prompt type (handler) could be located.
      See Also:
    • ATTR_REFUSAL_REASON

      static final String ATTR_REFUSAL_REASON
      The refusal reason in case the request was refused.
      See Also:
    • ATTR_RESPONSE_DATA

      static final String ATTR_RESPONSE_DATA
      The map with the response data as returned by the prompt service.
      See Also:
  • Method Details

    • getErrorValueDescriptors

      default Map<String, IValueDescriptor<?,?>> getErrorValueDescriptors(IValueDescriptorFactory f)
      Description copied from interface: IExecutionResultDescriptor
      The descriptors for the different error types that may occur when the node is executed. Each discriminator of the union represents an error or exception type.
      var connectTimeoutError = factory.recordBuilder().requiredProperty("connectTimeoutMs", factory.integer());
      var readTimeoutError = factory.recordBuilder().requiredProperty("readTimeoutMs", factory.integer());
      return Map.of("CONNECT_TIMEOUT", connectTimeoutError, "READ_TIMEOUT", readTimeoutError);
      
      The example above uses a different set of data each type of error.

      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 code CmnConst.Workflow.ERROR_CODE_GENERAL is set automatically.

      Specified by:
      getErrorValueDescriptors in interface IExecutionResultDescriptor
      Parameters:
      f - Factory that may be used for creating the descriptor. You may also use ValueDescriptorFactory.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()
      Description copied from interface: IExecutionResultDescriptor
      Creates the 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.
      Specified by:
      getFileValueDescriptor in interface IExecutionResultDescriptor
      Returns:
      The descriptor for the file or files made available after the node was executed.
    • getFileValueDescriptor

      Description copied from interface: IRefinedExecutionResultDescriptor
      Same as getFileValueDescriptor without data, but refined depending on the current node's configuration.
      Specified by:
      getFileValueDescriptor in interface IRefinedExecutionResultDescriptor<FcPromptQueryProps>
      Parameters:
      params - Parameters with the 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.
    • getPromptManagementService

      IPromptManagementService getPromptManagementService()
    • getPromptTypeService

      IPromptTypeService getPromptTypeService()
    • getSoftErrorValueDescriptors

      default Map<String, IValueDescriptor<?,?>> getSoftErrorValueDescriptors(IValueDescriptorFactory f)
      Description copied from interface: IExecutionResultDescriptor
      The descriptors for the different soft error types that may occur when the node is executed. Each discriminator of the union represents an error or exception type.
      var missingUploadError = factory.recordBuilder().requiredProperty("elementName", factory.string());
      var clientError = factory.recordBuilder().requiredProperty("statusCode", factory.integer());
      return Map.of("MISSING_UPLOAD", missingUploadError, "CLIENT_ERROR", clientError);
      
      The example above uses a different data type for each type of error.

      @implNote This interface provides a default implementation for backwards compatibility so as not to break existing implementations. However, all existing implementations are strongly advised to override and implement this method. The default implementation may be removed at some point.

      Specified by:
      getSoftErrorValueDescriptors in interface IExecutionResultDescriptor
      Parameters:
      f - Factory that may be used for creating the descriptor. You may also use ValueDescriptorFactory.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.
    • getSuccessValueDescriptor

      Description copied from interface: IRefinedExecutionResultDescriptor
      Same as getSuccessValueDescriptor without data, but refined depending on the current node's configuration.
      Specified by:
      getSuccessValueDescriptor in interface IRefinedExecutionResultDescriptor<FcPromptQueryProps>
      Parameters:
      f - Factory that may be used for creating the descriptor. Instead of the factory passed in to this method, you may also use ValueDescriptorFactory.getInstance() if you wish to cache the descriptor in a static or instance field.
      params - Parameters with the 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.
    • getSuccessValueDescriptor

      default IValueDescriptor<?, ? extends IValueBuilder<?>> getSuccessValueDescriptor(IValueDescriptorFactory factory)
      Description copied from interface: IExecutionResultDescriptor
      Creates the value descriptor for the data that is made available to the workflow when the node was executed successfully.
      Specified by:
      getSuccessValueDescriptor in interface IExecutionResultDescriptor
      Parameters:
      factory - Factory that may be used for creating the descriptor. Instead of the factory passed in to this method, you may also use ValueDescriptorFactory.getInstance() if you wish to cache the descriptor in a static or instance field.
      Returns:
      The data provided by the node after having been executed successfully.