All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.springwolf.asyncapi.v3.bindings.amqp.AMQPChannelBinding Maven / Gradle / Ivy

There is a newer version: 1.9.0
Show newest version
// SPDX-License-Identifier: Apache-2.0
package io.github.springwolf.asyncapi.v3.bindings.amqp;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.github.springwolf.asyncapi.v3.bindings.ChannelBinding;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * Protocol-specific information for an AMQP 0-9-1 channel.
 *
 * @see AMQP Channel
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class AMQPChannelBinding extends ChannelBinding {
    @Builder.Default
    @NotNull
    @JsonProperty(value = "is", required = true, defaultValue = "routingKey")
    private AMQPChannelType is = AMQPChannelType.ROUTING_KEY;

    @JsonProperty("exchange")
    private AMQPChannelExchangeProperties exchange;

    /**
     * When is=queue, this object defines the queue properties.
     */
    @JsonProperty("queue")
    private AMQPChannelQueueProperties queue;

    @Builder.Default
    @JsonProperty(value = "bindingVersion")
    private final String bindingVersion = "0.3.0";
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy