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

io.dropwizard.redis.codec.CompressionCodecFactory Maven / Gradle / Ivy

The newest version!
package io.dropwizard.redis.codec;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonTypeName;
import io.lettuce.core.codec.CompressionCodec;
import io.lettuce.core.codec.RedisCodec;

import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull;

@JsonTypeName("compression")
public class CompressionCodecFactory implements RedisCodecFactory {
    @Valid
    @NotNull
    @JsonProperty
    private RedisCodecFactory delegatee;

    @NotNull
    @JsonProperty
    private CompressionCodec.CompressionType compressionType;

    public RedisCodecFactory getDelegatee() {
        return delegatee;
    }

    public void setDelegatee(final RedisCodecFactory delegatee) {
        this.delegatee = delegatee;
    }

    public CompressionCodec.CompressionType getCompressionType() {
        return compressionType;
    }

    public void setCompressionType(final CompressionCodec.CompressionType compressionType) {
        this.compressionType = compressionType;
    }

    @Override
    public RedisCodec build() {
        return CompressionCodec.valueCompressor(delegatee.build(), compressionType);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy