Record Class RabbitMqOutboundRouting

java.lang.Object
java.lang.Record
io.camunda.connector.rabbitmq.outbound.model.RabbitMqOutboundRouting

public record RabbitMqOutboundRouting(@NotBlank String exchange, @NotBlank String routingKey, FactoryRoutingData routingData) extends Record
Represents the routing information for a RabbitMQ outbound request. This record is structured to support flat JSON deserialization for compatibility with specific JSON structures, facilitating easier integration with RabbitMQ configurations.

Note: The strategic use of @JsonCreator for deserialization and @JsonUnwrapped for serialization is specifically chosen to ensure compatibility with previous versions during backporting efforts. This approach overcomes limitations and guarantees that JSON structure management remains consistent across versions, facilitating the maintenance and extension of functionality without breaking changes.

  • Constructor Details

    • RabbitMqOutboundRouting

      public RabbitMqOutboundRouting(String exchange, String routingKey, String virtualHost, String hostName, String port)
    • RabbitMqOutboundRouting

      public RabbitMqOutboundRouting(@NotBlank @NotBlank String exchange, @NotBlank @NotBlank String routingKey, FactoryRoutingData routingData)
      Creates an instance of a RabbitMqOutboundRouting record class.
      Parameters:
      exchange - the value for the exchange record component
      routingKey - the value for the routingKey record component
      routingData - the value for the routingData record component
  • Method Details

    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • exchange

      @NotBlank public @NotBlank String exchange()
      Returns the value of the exchange record component.
      Returns:
      the value of the exchange record component
    • routingKey

      @NotBlank public @NotBlank String routingKey()
      Returns the value of the routingKey record component.
      Returns:
      the value of the routingKey record component
    • routingData

      public FactoryRoutingData routingData()
      Returns the value of the routingData record component.
      Returns:
      the value of the routingData record component