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

com.ziqni.admin.sdk.model.Scheduling Maven / Gradle / Ivy

There is a newer version: 1.0.21
Show newest version
/*
 * ZIQNI Admin API
 * Ziqni Application Services are used to manage and configure spaces.
 *
 * The version of the OpenAPI document: 3.0.1
 * Contact: [email protected]
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


package com.ziqni.admin.sdk.model;

import java.util.Objects;
import java.util.Arrays;
import java.util.Map;
import java.util.HashMap;
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 com.ziqni.admin.sdk.model.ScheduleType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.time.OffsetDateTime;
import java.util.ArrayList;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;


/**
 * Scheduling
 */
@JsonPropertyOrder({
  Scheduling.JSON_PROPERTY_SCHEDULE_TYPE,
  Scheduling.JSON_PROPERTY_SCHEDULE_OCCURRENCES_LIMIT,
  Scheduling.JSON_PROPERTY_EVERY,
  Scheduling.JSON_PROPERTY_START_DATE,
  Scheduling.JSON_PROPERTY_END_DATE,
  Scheduling.JSON_PROPERTY_CONSTRAINTS
})
@javax.annotation.processing.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class Scheduling {
  public static final String JSON_PROPERTY_SCHEDULE_TYPE = "scheduleType";
  private ScheduleType scheduleType;

  public static final String JSON_PROPERTY_SCHEDULE_OCCURRENCES_LIMIT = "scheduleOccurrencesLimit";
  private Integer scheduleOccurrencesLimit;

  public static final String JSON_PROPERTY_EVERY = "every";
  private List every = new ArrayList<>();

  public static final String JSON_PROPERTY_START_DATE = "startDate";
  private OffsetDateTime startDate;

  public static final String JSON_PROPERTY_END_DATE = "endDate";
  private OffsetDateTime endDate;

  public static final String JSON_PROPERTY_CONSTRAINTS = "constraints";
  private List constraints = new ArrayList<>();


  public Scheduling scheduleType(ScheduleType scheduleType) {
    this.scheduleType = scheduleType;
    return this;
  }

   /**
   * Get scheduleType
   * @return scheduleType
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(required = true, value = "")
  @JsonProperty(JSON_PROPERTY_SCHEDULE_TYPE)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public ScheduleType getScheduleType() {
    return scheduleType;
  }


  @JsonProperty(JSON_PROPERTY_SCHEDULE_TYPE)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setScheduleType(ScheduleType scheduleType) {
    this.scheduleType = scheduleType;
  }


  public Scheduling scheduleOccurrencesLimit(Integer scheduleOccurrencesLimit) {
    this.scheduleOccurrencesLimit = scheduleOccurrencesLimit;
    return this;
  }

   /**
   * A value indicating how many times it will be issued
   * @return scheduleOccurrencesLimit
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(example = "1", required = true, value = "A value indicating how many times it will be issued")
  @JsonProperty(JSON_PROPERTY_SCHEDULE_OCCURRENCES_LIMIT)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public Integer getScheduleOccurrencesLimit() {
    return scheduleOccurrencesLimit;
  }


  @JsonProperty(JSON_PROPERTY_SCHEDULE_OCCURRENCES_LIMIT)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setScheduleOccurrencesLimit(Integer scheduleOccurrencesLimit) {
    this.scheduleOccurrencesLimit = scheduleOccurrencesLimit;
  }


  public Scheduling every(List every) {
    this.every = every;
    return this;
  }

  public Scheduling addEveryItem(Integer everyItem) {
    this.every.add(everyItem);
    return this;
  }

   /**
   * Get every
   * @return every
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(required = true, value = "")
  @JsonProperty(JSON_PROPERTY_EVERY)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public List getEvery() {
    return every;
  }


  @JsonProperty(JSON_PROPERTY_EVERY)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setEvery(List every) {
    this.every = every;
  }


  public Scheduling startDate(OffsetDateTime startDate) {
    this.startDate = startDate;
    return this;
  }

   /**
   * The start date and time of a schedule. ISO8601 timestamp
   * @return startDate
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(required = true, value = "The start date and time of a schedule. ISO8601 timestamp")
  @JsonProperty(JSON_PROPERTY_START_DATE)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public OffsetDateTime getStartDate() {
    return startDate;
  }


  @JsonProperty(JSON_PROPERTY_START_DATE)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setStartDate(OffsetDateTime startDate) {
    this.startDate = startDate;
  }


  public Scheduling endDate(OffsetDateTime endDate) {
    this.endDate = endDate;
    return this;
  }

   /**
   * The end date and time of a schedule. ISO8601 timestamp
   * @return endDate
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "The end date and time of a schedule. ISO8601 timestamp")
  @JsonProperty(JSON_PROPERTY_END_DATE)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)

  public OffsetDateTime getEndDate() {
    return endDate;
  }


  @JsonProperty(JSON_PROPERTY_END_DATE)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setEndDate(OffsetDateTime endDate) {
    this.endDate = endDate;
  }


  public Scheduling constraints(List constraints) {
    this.constraints = constraints;
    return this;
  }

  public Scheduling addConstraintsItem(String constraintsItem) {
    this.constraints.add(constraintsItem);
    return this;
  }

   /**
   * Additional constraints
   * @return constraints
  **/
  @javax.annotation.Nonnull
  @ApiModelProperty(example = "- onlyAggregateOnActiveDays", required = true, value = "Additional constraints")
  @JsonProperty(JSON_PROPERTY_CONSTRAINTS)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public List getConstraints() {
    return constraints;
  }


  @JsonProperty(JSON_PROPERTY_CONSTRAINTS)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setConstraints(List constraints) {
    this.constraints = constraints;
  }


  /**
   * Return true if this Scheduling object is equal to o.
   */
  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    Scheduling scheduling = (Scheduling) o;
    return Objects.equals(this.scheduleType, scheduling.scheduleType) &&
        Objects.equals(this.scheduleOccurrencesLimit, scheduling.scheduleOccurrencesLimit) &&
        Objects.equals(this.every, scheduling.every) &&
        Objects.equals(this.startDate, scheduling.startDate) &&
        Objects.equals(this.endDate, scheduling.endDate) &&
        Objects.equals(this.constraints, scheduling.constraints);
  }

  @Override
  public int hashCode() {
    return Objects.hash(scheduleType, scheduleOccurrencesLimit, every, startDate, endDate, constraints);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class Scheduling {\n");
    sb.append("    scheduleType: ").append(toIndentedString(scheduleType)).append("\n");
    sb.append("    scheduleOccurrencesLimit: ").append(toIndentedString(scheduleOccurrencesLimit)).append("\n");
    sb.append("    every: ").append(toIndentedString(every)).append("\n");
    sb.append("    startDate: ").append(toIndentedString(startDate)).append("\n");
    sb.append("    endDate: ").append(toIndentedString(endDate)).append("\n");
    sb.append("    constraints: ").append(toIndentedString(constraints)).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    ");
  }

}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy