Interface WorkflowEngineOptionalBuilder


public interface WorkflowEngineOptionalBuilder
Optional builder interface for configuring additional or alternative components of a WorkflowEngine. This interface provides methods to configure optional components such as extensions, interceptors, transactions, and other advanced features.
Since:
1.0
See Also:
  • Method Details

    • withInstanceStore

      WorkflowEngineOptionalBuilder withInstanceStore(WorkflowInstanceStore workflowStore)
      Configures the workflow engine to use the specified instance store. The instance store is responsible for persisting workflow instances.
      Parameters:
      workflowStore - the instance store to use
      Returns:
      a WorkflowInstanceOptionalBuilder for further configuration
    • withInstanceRepository

      WorkflowEngineOptionalBuilder withInstanceRepository(WorkflowInstanceRepository repository)
      Configures the workflow engine to use the specified instance repository. The instance repository provides a higher-level abstraction for managing workflow instances.
      Parameters:
      repository - the instance repository to use
      Returns:
      a WorkflowInstanceOptionalBuilder for further configuration
    • build

      Builds and returns the configured WorkflowEngine instance.
      Returns:
      the configured WorkflowEngine instance
      Throws:
      WorkflowException - if the WorkflowEngine cannot be built due to configuration errors
    • withFactory

      Configures the workflow engine to use the specified workflow definition factory. The factory is responsible for creating workflow definitions from various sources.
      Parameters:
      workflowFactory - the workflow definition factory to use
      Returns:
      this builder instance for method chaining
    • withDefinitionRepository

      WorkflowEngineOptionalBuilder withDefinitionRepository(WorkflowDefinitionRepository workflowDefinitionRepository)
      Configures the workflow engine to use the specified workflow definition repository. The repository provides storage and retrieval of workflow definitions.
      Parameters:
      workflowDefinitionRepository - the workflow definition repository to use
      Returns:
      this builder instance for method chaining
    • withProperties

      WorkflowEngineOptionalBuilder withProperties(Properties properties)
      Configures the workflow engine with the specified properties. Properties can be used to configure various aspects of the engine behavior.
      Parameters:
      properties - the properties to configure
      Returns:
      this builder instance for method chaining
    • addInterceptor

      Adds an interceptor to the workflow engine. Interceptors allow for cross-cutting concerns such as logging, monitoring, or security.
      Parameters:
      interceptor - the interceptor to add
      Returns:
      this builder instance for method chaining
    • addTransaction

      Adds a transaction manager to the workflow engine. The transaction manager provides transactional support for workflow operations.
      Parameters:
      transaction - the transaction manager to add
      Returns:
      this builder instance for method chaining
    • withGlobalAttributes

      WorkflowEngineOptionalBuilder withGlobalAttributes(Attributes globalAttributes)
      Configures the workflow engine with global attributes. Global attributes are shared across all workflow instances and can be used for configuration or shared data.
      Parameters:
      globalAttributes - the global attributes to set
      Returns:
      this builder instance for method chaining
    • withCallerContext

      WorkflowEngineOptionalBuilder withCallerContext(WorkflowCallerContext callerContext)
      Configures the workflow engine with a default caller context. This context will be used for operations that don't specify a specific caller context.
      Parameters:
      callerContext - the default caller context to use
      Returns:
      this builder instance for method chaining
    • withExtensions

      WorkflowEngineOptionalBuilder withExtensions(ExtensionProvider extensionProvider)
      Configures the workflow engine with an extension provider. The extension provider is responsible for resolving extensions such as conditions, functions, and validators by name or class.
      Parameters:
      extensionProvider - the extension provider to use
      Returns:
      this builder instance for method chaining
    • withClock

      Configures the workflow engine with a custom clock. The clock is used for time-based operations and can be useful for testing or time zone handling.
      Parameters:
      clock - the clock to use
      Returns:
      this builder instance for method chaining