Package org.flowable.eventregistry.api.model

# Interface OutboundChannelModelBuilder

public interface OutboundChannelModelBuilder
A builder to create an `OutboundChannelModel` instance. which represents a channel to send events to the 'outside world'. An `OutboundChannelModel` consists of the following parts: - An adapter that defines how/where the events are sent, each with specific configurations. - An event processing pipeline that - allows for serialization to the proper format - (Optionally) custom steps (or override any of the above)

Author:
  Joram Barrez

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Interface
  Description
  `static interface`
  `OutboundChannelModelBuilder.OutboundEventProcessingPipelineBuilder`
  Builder for the 'event processing' pipeline which gets invoked before sending out the event.
  `static interface`
  `OutboundChannelModelBuilder.OutboundJmsChannelBuilder`
  Builder to create an `OutboundEventChannelAdapter` using JMS.
  `static interface`
  `OutboundChannelModelBuilder.OutboundKafkaChannelBuilder`
  Builder to create an `OutboundEventChannelAdapter` using Kafka.
  `static interface`
  `OutboundChannelModelBuilder.OutboundRabbitChannelBuilder`
  Builder to create an `OutboundEventChannelAdapter` using RabbitMQ.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `OutboundChannelModelBuilder`
  `category(String category)`
  Set the category for the channel deployment.
  `OutboundChannelModelBuilder.OutboundEventProcessingPipelineBuilder`
  `channelAdapter(String delegateExpression)`
  Sets a custom `OutboundEventChannelAdapter` via a delegate expression.
  `EventDeployment`
  `deploy()`
  Creates the `OutboundChannelModel` instance based on the configuration and registers it with the `EventRegistry`.
  `OutboundChannelModelBuilder`
  `deploymentName(String deploymentName)`
  Set the name for the channel deployment.
  `OutboundChannelModelBuilder`
  `deploymentTenantId(String deploymentTenantId)`
  Set the tenant id for the channel deployment.
  `OutboundChannelModelBuilder.OutboundJmsChannelBuilder`
  `jmsChannelAdapter(String destination)`
  Configures an adapter which will send events using JMS.
  `OutboundChannelModelBuilder.OutboundKafkaChannelBuilder`
  `kafkaChannelAdapter(String topic)`
  Configures an adapter which will send events using Kafka.
  `OutboundChannelModelBuilder`
  `key(String key)`
  Each channel needs to have a unique key to identity it.
  `OutboundChannelModelBuilder`
  `parentDeploymentId(String parentDeploymentId)`
  Set the parent deployment id for the channel deployment.
  `OutboundChannelModelBuilder.OutboundRabbitChannelBuilder`
  `rabbitChannelAdapter(String routingKey)`
  Configures an adapter which will send events using RabbitMQ.
  `OutboundChannelModelBuilder`
  `resourceName(String resourceName)`
  Set the resource name for the channel model.

- ## Method Details

  - ### key

    OutboundChannelModelBuilder key(String key)
    Each channel needs to have a unique key to identity it.

  - ### deploymentName

    OutboundChannelModelBuilder deploymentName(String deploymentName)
    Set the name for the channel deployment.

  - ### resourceName

    OutboundChannelModelBuilder resourceName(String resourceName)
    Set the resource name for the channel model.

  - ### category

    OutboundChannelModelBuilder category(String category)
    Set the category for the channel deployment.

  - ### deploymentTenantId

    OutboundChannelModelBuilder deploymentTenantId(String deploymentTenantId)
    Set the tenant id for the channel deployment.

  - ### parentDeploymentId

    OutboundChannelModelBuilder parentDeploymentId(String parentDeploymentId)
    Set the parent deployment id for the channel deployment.

  - ### channelAdapter

    OutboundChannelModelBuilder.OutboundEventProcessingPipelineBuilder channelAdapter(String delegateExpression)
    Sets a custom `OutboundEventChannelAdapter` via a delegate expression.

  - ### jmsChannelAdapter

    OutboundChannelModelBuilder.OutboundJmsChannelBuilder jmsChannelAdapter(String destination)
    Configures an adapter which will send events using JMS.

  - ### rabbitChannelAdapter

    OutboundChannelModelBuilder.OutboundRabbitChannelBuilder rabbitChannelAdapter(String routingKey)
    Configures an adapter which will send events using RabbitMQ.

  - ### kafkaChannelAdapter

    OutboundChannelModelBuilder.OutboundKafkaChannelBuilder kafkaChannelAdapter(String topic)
    Configures an adapter which will send events using Kafka.

  - ### deploy

    EventDeployment deploy()
    Creates the `OutboundChannelModel` instance based on the configuration and registers it with the `EventRegistry`.