
uk.co.mruoc.camunda.client.deploy.delete.DeleteDeploymentRequest Maven / Gradle / Ivy
package uk.co.mruoc.camunda.client.deploy.delete;
import lombok.Builder;
import lombok.Data;
import lombok.RequiredArgsConstructor;
import org.apache.http.NameValuePair;
import org.apache.http.client.utils.URLEncodedUtils;
import org.apache.http.message.BasicNameValuePair;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Optional;
import java.util.UUID;
@RequiredArgsConstructor
@Builder
@Data
public class DeleteDeploymentRequest {
private final UUID id;
private final Boolean cascade;
private final Boolean skipCustomListeners;
private final String overrideBaseUri;
public DeleteDeploymentRequest(UUID id) {
this(id, null, null, null);
}
public Optional getOverrideBaseUri() {
return Optional.ofNullable(overrideBaseUri);
}
public String toQueryString() {
String queryString = URLEncodedUtils.format(toNameValuePairs(), StandardCharsets.UTF_8);
if (queryString.isEmpty()) {
return queryString;
}
return String.format("?%s", queryString);
}
private Collection toNameValuePairs() {
Collection pairs = new ArrayList<>();
toNameValuePair("cascade", cascade).ifPresent(pairs::add);
toNameValuePair("skipCustomListeners", skipCustomListeners).ifPresent(pairs::add);
return pairs;
}
private static Optional toNameValuePair(String name, Boolean value) {
return Optional.ofNullable(value).map(v -> new BasicNameValuePair(name, Boolean.toString(v)));
}
public static class DeleteDeploymentRequestBuilder {
//intentionally blank
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy