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

com.dominodatalab.api.model.DominoNucleusProjectModelsProject Maven / Gradle / Ivy

/*
 * Domino Data Lab API v4
 * This API is going to provide access to all the Domino functions available in the user interface. To authenticate your requests, include your API Key (which you can find on your account page) with the header X-Domino-Api-Key. 
 *
 * The version of the OpenAPI document: 4.0.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 com.dominodatalab.api.model;

import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.StringJoiner;
import java.util.Objects;
import java.util.Map;
import java.util.HashMap;
import com.dominodatalab.api.model.DominoProjectsApiCollaboratorDTO;
import com.dominodatalab.api.model.DominoProjectsApiProjectStatus;
import com.dominodatalab.api.model.DominoProjectsApiProjectTagDTO;
import com.dominodatalab.api.model.DominoProjectsApiRepositoriesGitRepositoryDTO;
import com.dominodatalab.api.model.DominoServerProjectsDomainEntitiesProjectGitRepository;
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.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;


/**
 * DominoNucleusProjectModelsProject
 */
@JsonPropertyOrder({
  DominoNucleusProjectModelsProject.JSON_PROPERTY_ID,
  DominoNucleusProjectModelsProject.JSON_PROPERTY_NAME,
  DominoNucleusProjectModelsProject.JSON_PROPERTY_DESCRIPTION,
  DominoNucleusProjectModelsProject.JSON_PROPERTY_VISIBILITY,
  DominoNucleusProjectModelsProject.JSON_PROPERTY_OWNER_ID,
  DominoNucleusProjectModelsProject.JSON_PROPERTY_OWNER_USERNAME,
  DominoNucleusProjectModelsProject.JSON_PROPERTY_MAIN_REPOSITORY,
  DominoNucleusProjectModelsProject.JSON_PROPERTY_IMPORTED_GIT_REPOS,
  DominoNucleusProjectModelsProject.JSON_PROPERTY_COLLABORATOR_IDS,
  DominoNucleusProjectModelsProject.JSON_PROPERTY_COLLABORATORS,
  DominoNucleusProjectModelsProject.JSON_PROPERTY_TAGS,
  DominoNucleusProjectModelsProject.JSON_PROPERTY_STAGE_ID,
  DominoNucleusProjectModelsProject.JSON_PROPERTY_STATUS
})
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2023-10-17T15:20:46.682098100-04:00[America/New_York]")
public class DominoNucleusProjectModelsProject {
  public static final String JSON_PROPERTY_ID = "id";
  private String id;

  public static final String JSON_PROPERTY_NAME = "name";
  private String name;

  public static final String JSON_PROPERTY_DESCRIPTION = "description";
  private String description;

  public static final String JSON_PROPERTY_VISIBILITY = "visibility";
  private String visibility;

  public static final String JSON_PROPERTY_OWNER_ID = "ownerId";
  private String ownerId;

  public static final String JSON_PROPERTY_OWNER_USERNAME = "ownerUsername";
  private String ownerUsername;

  public static final String JSON_PROPERTY_MAIN_REPOSITORY = "mainRepository";
  private DominoServerProjectsDomainEntitiesProjectGitRepository mainRepository;

  public static final String JSON_PROPERTY_IMPORTED_GIT_REPOS = "importedGitRepos";
  private List importedGitRepos = new ArrayList<>();

  public static final String JSON_PROPERTY_COLLABORATOR_IDS = "collaboratorIds";
  private List collaboratorIds = new ArrayList<>();

  public static final String JSON_PROPERTY_COLLABORATORS = "collaborators";
  private List collaborators = new ArrayList<>();

  public static final String JSON_PROPERTY_TAGS = "tags";
  private List tags = new ArrayList<>();

  public static final String JSON_PROPERTY_STAGE_ID = "stageId";
  private String stageId;

  public static final String JSON_PROPERTY_STATUS = "status";
  private DominoProjectsApiProjectStatus status;

  public DominoNucleusProjectModelsProject() { 
  }

  public DominoNucleusProjectModelsProject id(String id) {
    this.id = id;
    return this;
  }

   /**
   * Get id
   * @return id
  **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_ID)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public String getId() {
    return id;
  }


  @JsonProperty(JSON_PROPERTY_ID)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setId(String id) {
    this.id = id;
  }


  public DominoNucleusProjectModelsProject name(String name) {
    this.name = name;
    return this;
  }

   /**
   * Get name
   * @return name
  **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_NAME)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public String getName() {
    return name;
  }


  @JsonProperty(JSON_PROPERTY_NAME)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setName(String name) {
    this.name = name;
  }


  public DominoNucleusProjectModelsProject description(String description) {
    this.description = description;
    return this;
  }

   /**
   * Get description
   * @return description
  **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_DESCRIPTION)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public String getDescription() {
    return description;
  }


  @JsonProperty(JSON_PROPERTY_DESCRIPTION)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setDescription(String description) {
    this.description = description;
  }


  public DominoNucleusProjectModelsProject visibility(String visibility) {
    this.visibility = visibility;
    return this;
  }

   /**
   * Get visibility
   * @return visibility
  **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_VISIBILITY)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public String getVisibility() {
    return visibility;
  }


  @JsonProperty(JSON_PROPERTY_VISIBILITY)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setVisibility(String visibility) {
    this.visibility = visibility;
  }


  public DominoNucleusProjectModelsProject ownerId(String ownerId) {
    this.ownerId = ownerId;
    return this;
  }

   /**
   * Get ownerId
   * @return ownerId
  **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_OWNER_ID)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public String getOwnerId() {
    return ownerId;
  }


  @JsonProperty(JSON_PROPERTY_OWNER_ID)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setOwnerId(String ownerId) {
    this.ownerId = ownerId;
  }


  public DominoNucleusProjectModelsProject ownerUsername(String ownerUsername) {
    this.ownerUsername = ownerUsername;
    return this;
  }

   /**
   * Get ownerUsername
   * @return ownerUsername
  **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_OWNER_USERNAME)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public String getOwnerUsername() {
    return ownerUsername;
  }


  @JsonProperty(JSON_PROPERTY_OWNER_USERNAME)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setOwnerUsername(String ownerUsername) {
    this.ownerUsername = ownerUsername;
  }


  public DominoNucleusProjectModelsProject mainRepository(DominoServerProjectsDomainEntitiesProjectGitRepository mainRepository) {
    this.mainRepository = mainRepository;
    return this;
  }

   /**
   * Get mainRepository
   * @return mainRepository
  **/
  @javax.annotation.Nullable
  @JsonProperty(JSON_PROPERTY_MAIN_REPOSITORY)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)

  public DominoServerProjectsDomainEntitiesProjectGitRepository getMainRepository() {
    return mainRepository;
  }


  @JsonProperty(JSON_PROPERTY_MAIN_REPOSITORY)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setMainRepository(DominoServerProjectsDomainEntitiesProjectGitRepository mainRepository) {
    this.mainRepository = mainRepository;
  }


  public DominoNucleusProjectModelsProject importedGitRepos(List importedGitRepos) {
    this.importedGitRepos = importedGitRepos;
    return this;
  }

  public DominoNucleusProjectModelsProject addImportedGitReposItem(DominoProjectsApiRepositoriesGitRepositoryDTO importedGitReposItem) {
    if (this.importedGitRepos == null) {
      this.importedGitRepos = new ArrayList<>();
    }
    this.importedGitRepos.add(importedGitReposItem);
    return this;
  }

   /**
   * Get importedGitRepos
   * @return importedGitRepos
  **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_IMPORTED_GIT_REPOS)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public List getImportedGitRepos() {
    return importedGitRepos;
  }


  @JsonProperty(JSON_PROPERTY_IMPORTED_GIT_REPOS)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setImportedGitRepos(List importedGitRepos) {
    this.importedGitRepos = importedGitRepos;
  }


  public DominoNucleusProjectModelsProject collaboratorIds(List collaboratorIds) {
    this.collaboratorIds = collaboratorIds;
    return this;
  }

  public DominoNucleusProjectModelsProject addCollaboratorIdsItem(String collaboratorIdsItem) {
    if (this.collaboratorIds == null) {
      this.collaboratorIds = new ArrayList<>();
    }
    this.collaboratorIds.add(collaboratorIdsItem);
    return this;
  }

   /**
   * Get collaboratorIds
   * @return collaboratorIds
  **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_COLLABORATOR_IDS)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public List getCollaboratorIds() {
    return collaboratorIds;
  }


  @JsonProperty(JSON_PROPERTY_COLLABORATOR_IDS)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setCollaboratorIds(List collaboratorIds) {
    this.collaboratorIds = collaboratorIds;
  }


  public DominoNucleusProjectModelsProject collaborators(List collaborators) {
    this.collaborators = collaborators;
    return this;
  }

  public DominoNucleusProjectModelsProject addCollaboratorsItem(DominoProjectsApiCollaboratorDTO collaboratorsItem) {
    if (this.collaborators == null) {
      this.collaborators = new ArrayList<>();
    }
    this.collaborators.add(collaboratorsItem);
    return this;
  }

   /**
   * Get collaborators
   * @return collaborators
  **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_COLLABORATORS)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public List getCollaborators() {
    return collaborators;
  }


  @JsonProperty(JSON_PROPERTY_COLLABORATORS)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setCollaborators(List collaborators) {
    this.collaborators = collaborators;
  }


  public DominoNucleusProjectModelsProject tags(List tags) {
    this.tags = tags;
    return this;
  }

  public DominoNucleusProjectModelsProject addTagsItem(DominoProjectsApiProjectTagDTO tagsItem) {
    if (this.tags == null) {
      this.tags = new ArrayList<>();
    }
    this.tags.add(tagsItem);
    return this;
  }

   /**
   * Get tags
   * @return tags
  **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_TAGS)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public List getTags() {
    return tags;
  }


  @JsonProperty(JSON_PROPERTY_TAGS)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setTags(List tags) {
    this.tags = tags;
  }


  public DominoNucleusProjectModelsProject stageId(String stageId) {
    this.stageId = stageId;
    return this;
  }

   /**
   * Get stageId
   * @return stageId
  **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_STAGE_ID)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public String getStageId() {
    return stageId;
  }


  @JsonProperty(JSON_PROPERTY_STAGE_ID)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setStageId(String stageId) {
    this.stageId = stageId;
  }


  public DominoNucleusProjectModelsProject status(DominoProjectsApiProjectStatus status) {
    this.status = status;
    return this;
  }

   /**
   * Get status
   * @return status
  **/
  @javax.annotation.Nonnull
  @JsonProperty(JSON_PROPERTY_STATUS)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)

  public DominoProjectsApiProjectStatus getStatus() {
    return status;
  }


  @JsonProperty(JSON_PROPERTY_STATUS)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setStatus(DominoProjectsApiProjectStatus status) {
    this.status = status;
  }


  /**
   * Return true if this domino.nucleus.project.models.Project object is equal to o.
   */
  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    DominoNucleusProjectModelsProject dominoNucleusProjectModelsProject = (DominoNucleusProjectModelsProject) o;
    return Objects.equals(this.id, dominoNucleusProjectModelsProject.id) &&
        Objects.equals(this.name, dominoNucleusProjectModelsProject.name) &&
        Objects.equals(this.description, dominoNucleusProjectModelsProject.description) &&
        Objects.equals(this.visibility, dominoNucleusProjectModelsProject.visibility) &&
        Objects.equals(this.ownerId, dominoNucleusProjectModelsProject.ownerId) &&
        Objects.equals(this.ownerUsername, dominoNucleusProjectModelsProject.ownerUsername) &&
        Objects.equals(this.mainRepository, dominoNucleusProjectModelsProject.mainRepository) &&
        Objects.equals(this.importedGitRepos, dominoNucleusProjectModelsProject.importedGitRepos) &&
        Objects.equals(this.collaboratorIds, dominoNucleusProjectModelsProject.collaboratorIds) &&
        Objects.equals(this.collaborators, dominoNucleusProjectModelsProject.collaborators) &&
        Objects.equals(this.tags, dominoNucleusProjectModelsProject.tags) &&
        Objects.equals(this.stageId, dominoNucleusProjectModelsProject.stageId) &&
        Objects.equals(this.status, dominoNucleusProjectModelsProject.status);
  }

  @Override
  public int hashCode() {
    return Objects.hash(id, name, description, visibility, ownerId, ownerUsername, mainRepository, importedGitRepos, collaboratorIds, collaborators, tags, stageId, status);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class DominoNucleusProjectModelsProject {\n");
    sb.append("    id: ").append(toIndentedString(id)).append("\n");
    sb.append("    name: ").append(toIndentedString(name)).append("\n");
    sb.append("    description: ").append(toIndentedString(description)).append("\n");
    sb.append("    visibility: ").append(toIndentedString(visibility)).append("\n");
    sb.append("    ownerId: ").append(toIndentedString(ownerId)).append("\n");
    sb.append("    ownerUsername: ").append(toIndentedString(ownerUsername)).append("\n");
    sb.append("    mainRepository: ").append(toIndentedString(mainRepository)).append("\n");
    sb.append("    importedGitRepos: ").append(toIndentedString(importedGitRepos)).append("\n");
    sb.append("    collaboratorIds: ").append(toIndentedString(collaboratorIds)).append("\n");
    sb.append("    collaborators: ").append(toIndentedString(collaborators)).append("\n");
    sb.append("    tags: ").append(toIndentedString(tags)).append("\n");
    sb.append("    stageId: ").append(toIndentedString(stageId)).append("\n");
    sb.append("    status: ").append(toIndentedString(status)).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 `id` to the URL query string
    if (getId() != null) {
      joiner.add(String.format("%sid%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
    }

    // add `name` to the URL query string
    if (getName() != null) {
      joiner.add(String.format("%sname%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getName()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
    }

    // add `description` to the URL query string
    if (getDescription() != null) {
      joiner.add(String.format("%sdescription%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getDescription()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
    }

    // add `visibility` to the URL query string
    if (getVisibility() != null) {
      joiner.add(String.format("%svisibility%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getVisibility()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
    }

    // add `ownerId` to the URL query string
    if (getOwnerId() != null) {
      joiner.add(String.format("%sownerId%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getOwnerId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
    }

    // add `ownerUsername` to the URL query string
    if (getOwnerUsername() != null) {
      joiner.add(String.format("%sownerUsername%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getOwnerUsername()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
    }

    // add `mainRepository` to the URL query string
    if (getMainRepository() != null) {
      joiner.add(getMainRepository().toUrlQueryString(prefix + "mainRepository" + suffix));
    }

    // add `importedGitRepos` to the URL query string
    if (getImportedGitRepos() != null) {
      for (int i = 0; i < getImportedGitRepos().size(); i++) {
        if (getImportedGitRepos().get(i) != null) {
          joiner.add(getImportedGitRepos().get(i).toUrlQueryString(String.format("%simportedGitRepos%s%s", prefix, suffix,
          "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix))));
        }
      }
    }

    // add `collaboratorIds` to the URL query string
    if (getCollaboratorIds() != null) {
      for (int i = 0; i < getCollaboratorIds().size(); i++) {
        joiner.add(String.format("%scollaboratorIds%s%s=%s", prefix, suffix,
            "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix),
            URLEncoder.encode(String.valueOf(getCollaboratorIds().get(i)), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
      }
    }

    // add `collaborators` to the URL query string
    if (getCollaborators() != null) {
      for (int i = 0; i < getCollaborators().size(); i++) {
        if (getCollaborators().get(i) != null) {
          joiner.add(getCollaborators().get(i).toUrlQueryString(String.format("%scollaborators%s%s", prefix, suffix,
          "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix))));
        }
      }
    }

    // add `tags` to the URL query string
    if (getTags() != null) {
      for (int i = 0; i < getTags().size(); i++) {
        if (getTags().get(i) != null) {
          joiner.add(getTags().get(i).toUrlQueryString(String.format("%stags%s%s", prefix, suffix,
          "".equals(suffix) ? "" : String.format("%s%d%s", containerPrefix, i, containerSuffix))));
        }
      }
    }

    // add `stageId` to the URL query string
    if (getStageId() != null) {
      joiner.add(String.format("%sstageId%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getStageId()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
    }

    // add `status` to the URL query string
    if (getStatus() != null) {
      joiner.add(getStatus().toUrlQueryString(prefix + "status" + suffix));
    }

    return joiner.toString();
  }
}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy