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

org.camunda.community.rest.client.dto.AbstractSetRemovalTimeDto Maven / Gradle / Ivy

/*
 * Camunda Platform REST API
 * OpenApi Spec for Camunda Platform REST API.
 *
 * The version of the OpenAPI document: 7.21.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package org.camunda.community.rest.client.dto;

import java.util.Objects;
import java.util.Arrays;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonTypeName;
import com.fasterxml.jackson.annotation.JsonValue;
import java.time.OffsetDateTime;
import org.openapitools.jackson.nullable.JsonNullable;
import com.fasterxml.jackson.annotation.JsonIgnore;
import org.openapitools.jackson.nullable.JsonNullable;
import java.util.NoSuchElementException;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.annotation.JsonTypeName;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.StringJoiner;

/**
 * AbstractSetRemovalTimeDto
 */
@JsonPropertyOrder({
  AbstractSetRemovalTimeDto.JSON_PROPERTY_ABSOLUTE_REMOVAL_TIME,
  AbstractSetRemovalTimeDto.JSON_PROPERTY_CLEARED_REMOVAL_TIME,
  AbstractSetRemovalTimeDto.JSON_PROPERTY_CALCULATED_REMOVAL_TIME
})
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2024-06-27T13:50:23.655629899Z[Etc/UTC]")
public class AbstractSetRemovalTimeDto {
  public static final String JSON_PROPERTY_ABSOLUTE_REMOVAL_TIME = "absoluteRemovalTime";
  private JsonNullable absoluteRemovalTime = JsonNullable.undefined();

  public static final String JSON_PROPERTY_CLEARED_REMOVAL_TIME = "clearedRemovalTime";
  private JsonNullable clearedRemovalTime = JsonNullable.undefined();

  public static final String JSON_PROPERTY_CALCULATED_REMOVAL_TIME = "calculatedRemovalTime";
  private JsonNullable calculatedRemovalTime = JsonNullable.undefined();

  public AbstractSetRemovalTimeDto() {
  }

  public AbstractSetRemovalTimeDto absoluteRemovalTime(OffsetDateTime absoluteRemovalTime) {
    this.absoluteRemovalTime = JsonNullable.of(absoluteRemovalTime);
    
    return this;
  }

   /**
   * The date for which the instances shall be removed. Value may not be `null`.  **Note:** Cannot be set in conjunction with `clearedRemovalTime` or `calculatedRemovalTime`.
   * @return absoluteRemovalTime
  **/
  @javax.annotation.Nullable
  @JsonIgnore

  public OffsetDateTime getAbsoluteRemovalTime() {
        return absoluteRemovalTime.orElse(null);
  }

  @JsonProperty(JSON_PROPERTY_ABSOLUTE_REMOVAL_TIME)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)

  public JsonNullable getAbsoluteRemovalTime_JsonNullable() {
    return absoluteRemovalTime;
  }
  
  @JsonProperty(JSON_PROPERTY_ABSOLUTE_REMOVAL_TIME)
  public void setAbsoluteRemovalTime_JsonNullable(JsonNullable absoluteRemovalTime) {
    this.absoluteRemovalTime = absoluteRemovalTime;
  }

  public void setAbsoluteRemovalTime(OffsetDateTime absoluteRemovalTime) {
    this.absoluteRemovalTime = JsonNullable.of(absoluteRemovalTime);
  }


  public AbstractSetRemovalTimeDto clearedRemovalTime(Boolean clearedRemovalTime) {
    this.clearedRemovalTime = JsonNullable.of(clearedRemovalTime);
    
    return this;
  }

   /**
   * Sets the removal time to `null`. Value may only be `true`, as `false` is the default behavior.  **Note:** Cannot be set in conjunction with `absoluteRemovalTime` or `calculatedRemovalTime`.
   * @return clearedRemovalTime
  **/
  @javax.annotation.Nullable
  @JsonIgnore

  public Boolean getClearedRemovalTime() {
        return clearedRemovalTime.orElse(null);
  }

  @JsonProperty(JSON_PROPERTY_CLEARED_REMOVAL_TIME)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)

  public JsonNullable getClearedRemovalTime_JsonNullable() {
    return clearedRemovalTime;
  }
  
  @JsonProperty(JSON_PROPERTY_CLEARED_REMOVAL_TIME)
  public void setClearedRemovalTime_JsonNullable(JsonNullable clearedRemovalTime) {
    this.clearedRemovalTime = clearedRemovalTime;
  }

  public void setClearedRemovalTime(Boolean clearedRemovalTime) {
    this.clearedRemovalTime = JsonNullable.of(clearedRemovalTime);
  }


  public AbstractSetRemovalTimeDto calculatedRemovalTime(Boolean calculatedRemovalTime) {
    this.calculatedRemovalTime = JsonNullable.of(calculatedRemovalTime);
    
    return this;
  }

   /**
   * The removal time is calculated based on the engine's configuration settings. Value may only be `true`, as `false` is the default behavior.  **Note:** Cannot be set in conjunction with `absoluteRemovalTime` or `clearedRemovalTime`.
   * @return calculatedRemovalTime
  **/
  @javax.annotation.Nullable
  @JsonIgnore

  public Boolean getCalculatedRemovalTime() {
        return calculatedRemovalTime.orElse(null);
  }

  @JsonProperty(JSON_PROPERTY_CALCULATED_REMOVAL_TIME)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)

  public JsonNullable getCalculatedRemovalTime_JsonNullable() {
    return calculatedRemovalTime;
  }
  
  @JsonProperty(JSON_PROPERTY_CALCULATED_REMOVAL_TIME)
  public void setCalculatedRemovalTime_JsonNullable(JsonNullable calculatedRemovalTime) {
    this.calculatedRemovalTime = calculatedRemovalTime;
  }

  public void setCalculatedRemovalTime(Boolean calculatedRemovalTime) {
    this.calculatedRemovalTime = JsonNullable.of(calculatedRemovalTime);
  }

  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    AbstractSetRemovalTimeDto abstractSetRemovalTimeDto = (AbstractSetRemovalTimeDto) o;
    return equalsNullable(this.absoluteRemovalTime, abstractSetRemovalTimeDto.absoluteRemovalTime) &&
        equalsNullable(this.clearedRemovalTime, abstractSetRemovalTimeDto.clearedRemovalTime) &&
        equalsNullable(this.calculatedRemovalTime, abstractSetRemovalTimeDto.calculatedRemovalTime);
  }

  private static  boolean equalsNullable(JsonNullable a, JsonNullable b) {
    return a == b || (a != null && b != null && a.isPresent() && b.isPresent() && Objects.deepEquals(a.get(), b.get()));
  }

  @Override
  public int hashCode() {
    return Objects.hash(hashCodeNullable(absoluteRemovalTime), hashCodeNullable(clearedRemovalTime), hashCodeNullable(calculatedRemovalTime));
  }

  private static  int hashCodeNullable(JsonNullable a) {
    if (a == null) {
      return 1;
    }
    return a.isPresent() ? Arrays.deepHashCode(new Object[]{a.get()}) : 31;
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class AbstractSetRemovalTimeDto {\n");
    sb.append("    absoluteRemovalTime: ").append(toIndentedString(absoluteRemovalTime)).append("\n");
    sb.append("    clearedRemovalTime: ").append(toIndentedString(clearedRemovalTime)).append("\n");
    sb.append("    calculatedRemovalTime: ").append(toIndentedString(calculatedRemovalTime)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }

  /**
   * Convert the instance into URL query string.
   *
   * @return URL query string
   */
  public String toUrlQueryString() {
    return toUrlQueryString(null);
  }

  /**
   * Convert the instance into URL query string.
   *
   * @param prefix prefix of the query string
   * @return URL query string
   */
  public String toUrlQueryString(String prefix) {
    String suffix = "";
    String containerSuffix = "";
    String containerPrefix = "";
    if (prefix == null) {
      // style=form, explode=true, e.g. /pet?name=cat&type=manx
      prefix = "";
    } else {
      // deepObject style e.g. /pet?id[name]=cat&id[type]=manx
      prefix = prefix + "[";
      suffix = "]";
      containerSuffix = "]";
      containerPrefix = "[";
    }

    StringJoiner joiner = new StringJoiner("&");

    // add `absoluteRemovalTime` to the URL query string
    if (getAbsoluteRemovalTime() != null) {
      try {
        joiner.add(String.format("%sabsoluteRemovalTime%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getAbsoluteRemovalTime()), "UTF-8").replaceAll("\\+", "%20")));
      } catch (UnsupportedEncodingException e) {
        // Should never happen, UTF-8 is always supported
        throw new RuntimeException(e);
      }
    }

    // add `clearedRemovalTime` to the URL query string
    if (getClearedRemovalTime() != null) {
      try {
        joiner.add(String.format("%sclearedRemovalTime%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getClearedRemovalTime()), "UTF-8").replaceAll("\\+", "%20")));
      } catch (UnsupportedEncodingException e) {
        // Should never happen, UTF-8 is always supported
        throw new RuntimeException(e);
      }
    }

    // add `calculatedRemovalTime` to the URL query string
    if (getCalculatedRemovalTime() != null) {
      try {
        joiner.add(String.format("%scalculatedRemovalTime%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getCalculatedRemovalTime()), "UTF-8").replaceAll("\\+", "%20")));
      } catch (UnsupportedEncodingException e) {
        // Should never happen, UTF-8 is always supported
        throw new RuntimeException(e);
      }
    }

    return joiner.toString();
  }

}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy