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

io.smallrye.reactive.messaging.amqp.AmqpMessageBuilder Maven / Gradle / Ivy

The newest version!
package io.smallrye.reactive.messaging.amqp;

import java.time.Instant;
import java.util.UUID;

import io.vertx.core.json.JsonArray;
import io.vertx.core.json.JsonObject;
import io.vertx.mutiny.core.buffer.Buffer;

/**
 * @param 
 * @deprecated Use {@link OutgoingAmqpMetadata} instead.
 */
@Deprecated
public class AmqpMessageBuilder {

    private final io.vertx.mutiny.amqp.AmqpMessageBuilder builder;

    AmqpMessageBuilder() {
        builder = io.vertx.mutiny.amqp.AmqpMessage.create();
    }

    public AmqpMessageBuilder withPriority(short priority) {
        builder.priority(priority);
        return this;
    }

    public AmqpMessageBuilder withDurable(boolean durable) {
        builder.durable(durable);
        return this;
    }

    public AmqpMessageBuilder withTtl(long ttl) {
        builder.ttl(ttl);
        return this;
    }

    public AmqpMessageBuilder withId(String id) {
        builder.id(id);
        return this;
    }

    public AmqpMessageBuilder withAddress(String address) {
        builder.address(address);
        return this;
    }

    public AmqpMessageBuilder withReplyTo(String replyTo) {
        builder.replyTo(replyTo);
        return this;
    }

    public AmqpMessageBuilder withCorrelationId(String correlationId) {
        builder.correlationId(correlationId);
        return this;
    }

    public AmqpMessageBuilder withBody(String value) {
        builder.withBody(value);
        return this;
    }

    public AmqpMessageBuilder withSymbolAsBody(String value) {
        builder.withSymbolAsBody(value);
        return this;
    }

    public AmqpMessageBuilder withSubject(String subject) {
        builder.subject(subject);
        return this;
    }

    public AmqpMessageBuilder withContentType(String ct) {
        builder.contentType(ct);
        return this;
    }

    public AmqpMessageBuilder withContentEncoding(String ct) {
        builder.contentEncoding(ct);
        return this;
    }

    public AmqpMessageBuilder withGroupId(String gi) {
        builder.groupId(gi);
        return this;
    }

    public AmqpMessageBuilder withReplyToGroupId(String rt) {
        builder.replyToGroupId(rt);
        return this;
    }

    public AmqpMessageBuilder withApplicationProperties(JsonObject props) {
        builder.applicationProperties(props);
        return this;
    }

    public AmqpMessageBuilder withBooleanAsBody(boolean v) {
        builder.withBooleanAsBody(v);
        return this;
    }

    public AmqpMessageBuilder withByteAsBody(byte v) {
        builder.withByteAsBody(v);
        return this;
    }

    public AmqpMessageBuilder withShortAsBody(short v) {
        builder.withShortAsBody(v);
        return this;
    }

    public AmqpMessageBuilder withIntegerAsBody(int v) {
        builder.withIntegerAsBody(v);
        return this;
    }

    public AmqpMessageBuilder withLongAsBody(long v) {
        builder.withLongAsBody(v);
        return this;
    }

    public AmqpMessageBuilder withFloatAsBody(float v) {
        builder.withFloatAsBody(v);
        return this;
    }

    public AmqpMessageBuilder withDoubleAsBody(double v) {
        builder.withDoubleAsBody(v);
        return this;
    }

    public AmqpMessageBuilder withCharAsBody(char c) {
        builder.withCharAsBody(c);
        return this;
    }

    public AmqpMessageBuilder withBufferAsBody(Buffer buffer) {
        builder.withBufferAsBody(buffer);
        return this;
    }

    public AmqpMessageBuilder withJsonObjectAsBody(JsonObject json) {
        builder.withJsonObjectAsBody(json);
        return this;
    }

    public AmqpMessageBuilder withJsonArrayAsBody(JsonArray json) {
        builder.withJsonArrayAsBody(json);
        return this;
    }

    public AmqpMessageBuilder withInstantAsBody(Instant v) {
        builder.withInstantAsBody(v);
        return this;
    }

    public AmqpMessageBuilder withUuidAsBody(UUID v) {
        builder.withUuidAsBody(v);
        return this;
    }

    public AmqpMessage build() {
        io.vertx.mutiny.amqp.AmqpMessage delegate = builder.build();
        OutgoingAmqpMetadata.OutgoingAmqpMetadataBuilder amqpMetadataBuilder = OutgoingAmqpMetadata.builder();
        if (delegate.address() != null) {
            amqpMetadataBuilder.withAddress(delegate.address());
        }
        if (delegate.applicationProperties() != null) {
            amqpMetadataBuilder.withApplicationProperties(delegate.applicationProperties());
        }
        if (delegate.contentType() != null) {
            amqpMetadataBuilder.withContentType(delegate.contentType());
        }
        if (delegate.contentEncoding() != null) {
            amqpMetadataBuilder.withContentEncoding(delegate.contentEncoding());
        }
        if (delegate.correlationId() != null) {
            amqpMetadataBuilder.withCorrelationId(delegate.correlationId());
        }
        if (delegate.groupId() != null) {
            amqpMetadataBuilder.withGroupId(delegate.groupId());
        }
        if (delegate.id() != null) {
            amqpMetadataBuilder.withMessageId(delegate.id());
        }
        amqpMetadataBuilder.withDurable(delegate.isDurable());
        if (delegate.priority() >= 0) {
            amqpMetadataBuilder.withPriority((short) delegate.priority());
        }
        if (delegate.subject() != null) {
            amqpMetadataBuilder.withSubject(delegate.subject());
        }
        if (delegate.ttl() >= 0) {
            amqpMetadataBuilder.withTtl(delegate.ttl());
        }
        return new OutgoingAmqpMessage<>(delegate, amqpMetadataBuilder.build());
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy