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

com.orbitz.consul.option.DeleteOptions Maven / Gradle / Ivy

The newest version!
package com.orbitz.consul.option;

import java.util.Optional;
import org.immutables.value.Value;

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

import static com.orbitz.consul.option.Options.optionallyAdd;

@Value.Immutable
public abstract class DeleteOptions implements ParamAdder {

	public static final DeleteOptions BLANK = ImmutableDeleteOptions.builder().build();
	public static final DeleteOptions RECURSE = ImmutableDeleteOptions.builder().recurse(true).build();

	public abstract Optional getCas();

	public abstract Optional getRecurse();

	public abstract Optional getDatacenter();

	@Value.Derived
	public boolean isRecurse() {
		return getRecurse().isPresent();
	}

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

		if (isRecurse()) {
			result.put("recurse", "");
		}

		optionallyAdd(result, "cas", getCas());
		optionallyAdd(result, "dc", getDatacenter());

		return result;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy