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

org.kiwiproject.consul.option.PutOptions Maven / Gradle / Ivy

package org.kiwiproject.consul.option;

import org.immutables.value.Value;

import java.util.HashMap;
import java.util.Map;
import java.util.Optional;

@Value.Immutable
@Value.Style(jakarta = true)
public abstract class PutOptions implements ParamAdder {

    public static final PutOptions BLANK = ImmutablePutOptions.builder().build();

    public abstract Optional getCas();
    public abstract Optional getAcquire();
    public abstract Optional getRelease();
    public abstract Optional getDc();
    public abstract Optional getToken();

    @Override
    public final Map toQuery() {
        Map result = new HashMap<>();

        Options.optionallyAdd(result, "dc", getDc());
        Options.optionallyAdd(result, "cas", getCas());
        Options.optionallyAdd(result, "acquire", getAcquire());
        Options.optionallyAdd(result, "release", getRelease());
        Options.optionallyAdd(result, "token", getToken());

        return result;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy