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

discord4j.connect.rabbitmq.gateway.JacksonJsonSinkMapper Maven / Gradle / Ivy

package discord4j.connect.rabbitmq.gateway;

import com.fasterxml.jackson.databind.ObjectMapper;
import discord4j.connect.common.ConnectPayload;
import discord4j.connect.common.SinkMapper;
import org.reactivestreams.Publisher;
import reactor.core.publisher.Mono;

/**
 * A mapper that can convert a {@link ConnectPayload} into a JSON-formatted byte array using Jackson.
 */
public class JacksonJsonSinkMapper implements SinkMapper {

    private final ObjectMapper objectMapper;

    public JacksonJsonSinkMapper(final ObjectMapper objectMapper) {
        this.objectMapper = objectMapper;
    }

    @Override
    public Publisher apply(final ConnectPayload payload) {
        return Mono.fromCallable(() -> objectMapper.writeValueAsBytes(payload));
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy