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

com.dominodatalab.api.model.DominoProjectsApiProjectHubTemplateResult 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.DominoProjectsApiNamedLink;
import com.dominodatalab.api.model.DominoProjectsApiNamedOptionalLink;
import com.dominodatalab.api.model.DominoProjectsApiProjectHubModel;
import com.dominodatalab.api.model.DominoProjectsApiProjectTemplateEnvironment;
import com.dominodatalab.api.model.DominoProjectsApiProjectTemplateGoals;
import com.dominodatalab.api.model.DominoProjectsApiProjectTemplateImportedRepository;
import com.dominodatalab.api.model.DominoProjectsApiProjectTemplatePrerequisites;
import com.dominodatalab.api.model.DominoProjectsApiRepositoriesResponsesProjectTemplateRepositoryDTO;
import com.dominodatalab.api.model.DominoProjectsApiValueOptionalLink;
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 java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;


/**
 * DominoProjectsApiProjectHubTemplateResult
 */
@JsonPropertyOrder({
  DominoProjectsApiProjectHubTemplateResult.JSON_PROPERTY_BASE64_LOGO,
  DominoProjectsApiProjectHubTemplateResult.JSON_PROPERTY_CATEGORIES,
  DominoProjectsApiProjectHubTemplateResult.JSON_PROPERTY_CREATED,
  DominoProjectsApiProjectHubTemplateResult.JSON_PROPERTY_DATA,
  DominoProjectsApiProjectHubTemplateResult.JSON_PROPERTY_DATA_FORMAT,
  DominoProjectsApiProjectHubTemplateResult.JSON_PROPERTY_DESCRIPTION,
  DominoProjectsApiProjectHubTemplateResult.JSON_PROPERTY_ENVIRONMENT,
  DominoProjectsApiProjectHubTemplateResult.JSON_PROPERTY_ENVIRONMENT_REQS,
  DominoProjectsApiProjectHubTemplateResult.JSON_PROPERTY_GOALS,
  DominoProjectsApiProjectHubTemplateResult.JSON_PROPERTY_HARDWARE_TIER,
  DominoProjectsApiProjectHubTemplateResult.JSON_PROPERTY_IMPORTED_REPOSITORIES,
  DominoProjectsApiProjectHubTemplateResult.JSON_PROPERTY_LICENSE,
  DominoProjectsApiProjectHubTemplateResult.JSON_PROPERTY_MAIN_REPOSITORY,
  DominoProjectsApiProjectHubTemplateResult.JSON_PROPERTY_MODELS,
  DominoProjectsApiProjectHubTemplateResult.JSON_PROPERTY_OWNER,
  DominoProjectsApiProjectHubTemplateResult.JSON_PROPERTY_PREREQUISITES,
  DominoProjectsApiProjectHubTemplateResult.JSON_PROPERTY_RECOMMENDED,
  DominoProjectsApiProjectHubTemplateResult.JSON_PROPERTY_REVISION_ID,
  DominoProjectsApiProjectHubTemplateResult.JSON_PROPERTY_TEMPLATE_ID,
  DominoProjectsApiProjectHubTemplateResult.JSON_PROPERTY_TITLE,
  DominoProjectsApiProjectHubTemplateResult.JSON_PROPERTY_UPDATED
})
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2024-02-03T07:34:01.543562200-05:00[America/New_York]")
public class DominoProjectsApiProjectHubTemplateResult {
  public static final String JSON_PROPERTY_BASE64_LOGO = "base64Logo";
  private String base64Logo;

  public static final String JSON_PROPERTY_CATEGORIES = "categories";
  private List categories = new ArrayList<>();

  public static final String JSON_PROPERTY_CREATED = "created";
  private OffsetDateTime created;

  public static final String JSON_PROPERTY_DATA = "data";
  private DominoProjectsApiNamedOptionalLink data;

  public static final String JSON_PROPERTY_DATA_FORMAT = "dataFormat";
  private String dataFormat;

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

  public static final String JSON_PROPERTY_ENVIRONMENT = "environment";
  private DominoProjectsApiProjectTemplateEnvironment environment;

  public static final String JSON_PROPERTY_ENVIRONMENT_REQS = "environmentReqs";
  private DominoProjectsApiValueOptionalLink environmentReqs;

  public static final String JSON_PROPERTY_GOALS = "goals";
  private List goals;

  public static final String JSON_PROPERTY_HARDWARE_TIER = "hardwareTier";
  private DominoProjectsApiValueOptionalLink hardwareTier;

  public static final String JSON_PROPERTY_IMPORTED_REPOSITORIES = "importedRepositories";
  private List importedRepositories = new ArrayList<>();

  public static final String JSON_PROPERTY_LICENSE = "license";
  private DominoProjectsApiNamedLink license;

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

  public static final String JSON_PROPERTY_MODELS = "models";
  private List models = new ArrayList<>();

  public static final String JSON_PROPERTY_OWNER = "owner";
  private DominoProjectsApiNamedLink owner;

  public static final String JSON_PROPERTY_PREREQUISITES = "prerequisites";
  private List prerequisites;

  public static final String JSON_PROPERTY_RECOMMENDED = "recommended";
  private Boolean recommended;

  public static final String JSON_PROPERTY_REVISION_ID = "revisionId";
  private String revisionId;

  public static final String JSON_PROPERTY_TEMPLATE_ID = "templateId";
  private String templateId;

  public static final String JSON_PROPERTY_TITLE = "title";
  private String title;

  public static final String JSON_PROPERTY_UPDATED = "updated";
  private OffsetDateTime updated;

  public DominoProjectsApiProjectHubTemplateResult() { 
  }

  public DominoProjectsApiProjectHubTemplateResult base64Logo(String base64Logo) {
    this.base64Logo = base64Logo;
    return this;
  }

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

  public String getBase64Logo() {
    return base64Logo;
  }


  @JsonProperty(JSON_PROPERTY_BASE64_LOGO)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setBase64Logo(String base64Logo) {
    this.base64Logo = base64Logo;
  }


  public DominoProjectsApiProjectHubTemplateResult categories(List categories) {
    this.categories = categories;
    return this;
  }

  public DominoProjectsApiProjectHubTemplateResult addCategoriesItem(String categoriesItem) {
    if (this.categories == null) {
      this.categories = new ArrayList<>();
    }
    this.categories.add(categoriesItem);
    return this;
  }

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

  public List getCategories() {
    return categories;
  }


  @JsonProperty(JSON_PROPERTY_CATEGORIES)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setCategories(List categories) {
    this.categories = categories;
  }


  public DominoProjectsApiProjectHubTemplateResult created(OffsetDateTime created) {
    this.created = created;
    return this;
  }

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

  public OffsetDateTime getCreated() {
    return created;
  }


  @JsonProperty(JSON_PROPERTY_CREATED)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setCreated(OffsetDateTime created) {
    this.created = created;
  }


  public DominoProjectsApiProjectHubTemplateResult data(DominoProjectsApiNamedOptionalLink data) {
    this.data = data;
    return this;
  }

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

  public DominoProjectsApiNamedOptionalLink getData() {
    return data;
  }


  @JsonProperty(JSON_PROPERTY_DATA)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setData(DominoProjectsApiNamedOptionalLink data) {
    this.data = data;
  }


  public DominoProjectsApiProjectHubTemplateResult dataFormat(String dataFormat) {
    this.dataFormat = dataFormat;
    return this;
  }

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

  public String getDataFormat() {
    return dataFormat;
  }


  @JsonProperty(JSON_PROPERTY_DATA_FORMAT)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setDataFormat(String dataFormat) {
    this.dataFormat = dataFormat;
  }


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

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

  public String getDescription() {
    return description;
  }


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


  public DominoProjectsApiProjectHubTemplateResult environment(DominoProjectsApiProjectTemplateEnvironment environment) {
    this.environment = environment;
    return this;
  }

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

  public DominoProjectsApiProjectTemplateEnvironment getEnvironment() {
    return environment;
  }


  @JsonProperty(JSON_PROPERTY_ENVIRONMENT)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setEnvironment(DominoProjectsApiProjectTemplateEnvironment environment) {
    this.environment = environment;
  }


  public DominoProjectsApiProjectHubTemplateResult environmentReqs(DominoProjectsApiValueOptionalLink environmentReqs) {
    this.environmentReqs = environmentReqs;
    return this;
  }

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

  public DominoProjectsApiValueOptionalLink getEnvironmentReqs() {
    return environmentReqs;
  }


  @JsonProperty(JSON_PROPERTY_ENVIRONMENT_REQS)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setEnvironmentReqs(DominoProjectsApiValueOptionalLink environmentReqs) {
    this.environmentReqs = environmentReqs;
  }


  public DominoProjectsApiProjectHubTemplateResult goals(List goals) {
    this.goals = goals;
    return this;
  }

  public DominoProjectsApiProjectHubTemplateResult addGoalsItem(DominoProjectsApiProjectTemplateGoals goalsItem) {
    if (this.goals == null) {
      this.goals = new ArrayList<>();
    }
    this.goals.add(goalsItem);
    return this;
  }

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

  public List getGoals() {
    return goals;
  }


  @JsonProperty(JSON_PROPERTY_GOALS)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setGoals(List goals) {
    this.goals = goals;
  }


  public DominoProjectsApiProjectHubTemplateResult hardwareTier(DominoProjectsApiValueOptionalLink hardwareTier) {
    this.hardwareTier = hardwareTier;
    return this;
  }

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

  public DominoProjectsApiValueOptionalLink getHardwareTier() {
    return hardwareTier;
  }


  @JsonProperty(JSON_PROPERTY_HARDWARE_TIER)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setHardwareTier(DominoProjectsApiValueOptionalLink hardwareTier) {
    this.hardwareTier = hardwareTier;
  }


  public DominoProjectsApiProjectHubTemplateResult importedRepositories(List importedRepositories) {
    this.importedRepositories = importedRepositories;
    return this;
  }

  public DominoProjectsApiProjectHubTemplateResult addImportedRepositoriesItem(DominoProjectsApiProjectTemplateImportedRepository importedRepositoriesItem) {
    if (this.importedRepositories == null) {
      this.importedRepositories = new ArrayList<>();
    }
    this.importedRepositories.add(importedRepositoriesItem);
    return this;
  }

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

  public List getImportedRepositories() {
    return importedRepositories;
  }


  @JsonProperty(JSON_PROPERTY_IMPORTED_REPOSITORIES)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setImportedRepositories(List importedRepositories) {
    this.importedRepositories = importedRepositories;
  }


  public DominoProjectsApiProjectHubTemplateResult license(DominoProjectsApiNamedLink license) {
    this.license = license;
    return this;
  }

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

  public DominoProjectsApiNamedLink getLicense() {
    return license;
  }


  @JsonProperty(JSON_PROPERTY_LICENSE)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setLicense(DominoProjectsApiNamedLink license) {
    this.license = license;
  }


  public DominoProjectsApiProjectHubTemplateResult mainRepository(DominoProjectsApiRepositoriesResponsesProjectTemplateRepositoryDTO mainRepository) {
    this.mainRepository = mainRepository;
    return this;
  }

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

  public DominoProjectsApiRepositoriesResponsesProjectTemplateRepositoryDTO getMainRepository() {
    return mainRepository;
  }


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


  public DominoProjectsApiProjectHubTemplateResult models(List models) {
    this.models = models;
    return this;
  }

  public DominoProjectsApiProjectHubTemplateResult addModelsItem(DominoProjectsApiProjectHubModel modelsItem) {
    if (this.models == null) {
      this.models = new ArrayList<>();
    }
    this.models.add(modelsItem);
    return this;
  }

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

  public List getModels() {
    return models;
  }


  @JsonProperty(JSON_PROPERTY_MODELS)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setModels(List models) {
    this.models = models;
  }


  public DominoProjectsApiProjectHubTemplateResult owner(DominoProjectsApiNamedLink owner) {
    this.owner = owner;
    return this;
  }

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

  public DominoProjectsApiNamedLink getOwner() {
    return owner;
  }


  @JsonProperty(JSON_PROPERTY_OWNER)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setOwner(DominoProjectsApiNamedLink owner) {
    this.owner = owner;
  }


  public DominoProjectsApiProjectHubTemplateResult prerequisites(List prerequisites) {
    this.prerequisites = prerequisites;
    return this;
  }

  public DominoProjectsApiProjectHubTemplateResult addPrerequisitesItem(DominoProjectsApiProjectTemplatePrerequisites prerequisitesItem) {
    if (this.prerequisites == null) {
      this.prerequisites = new ArrayList<>();
    }
    this.prerequisites.add(prerequisitesItem);
    return this;
  }

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

  public List getPrerequisites() {
    return prerequisites;
  }


  @JsonProperty(JSON_PROPERTY_PREREQUISITES)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setPrerequisites(List prerequisites) {
    this.prerequisites = prerequisites;
  }


  public DominoProjectsApiProjectHubTemplateResult recommended(Boolean recommended) {
    this.recommended = recommended;
    return this;
  }

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

  public Boolean getRecommended() {
    return recommended;
  }


  @JsonProperty(JSON_PROPERTY_RECOMMENDED)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setRecommended(Boolean recommended) {
    this.recommended = recommended;
  }


  public DominoProjectsApiProjectHubTemplateResult revisionId(String revisionId) {
    this.revisionId = revisionId;
    return this;
  }

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

  public String getRevisionId() {
    return revisionId;
  }


  @JsonProperty(JSON_PROPERTY_REVISION_ID)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setRevisionId(String revisionId) {
    this.revisionId = revisionId;
  }


  public DominoProjectsApiProjectHubTemplateResult templateId(String templateId) {
    this.templateId = templateId;
    return this;
  }

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

  public String getTemplateId() {
    return templateId;
  }


  @JsonProperty(JSON_PROPERTY_TEMPLATE_ID)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setTemplateId(String templateId) {
    this.templateId = templateId;
  }


  public DominoProjectsApiProjectHubTemplateResult title(String title) {
    this.title = title;
    return this;
  }

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

  public String getTitle() {
    return title;
  }


  @JsonProperty(JSON_PROPERTY_TITLE)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setTitle(String title) {
    this.title = title;
  }


  public DominoProjectsApiProjectHubTemplateResult updated(OffsetDateTime updated) {
    this.updated = updated;
    return this;
  }

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

  public OffsetDateTime getUpdated() {
    return updated;
  }


  @JsonProperty(JSON_PROPERTY_UPDATED)
  @JsonInclude(value = JsonInclude.Include.ALWAYS)
  public void setUpdated(OffsetDateTime updated) {
    this.updated = updated;
  }


  /**
   * Return true if this domino.projects.api.ProjectHubTemplateResult object is equal to o.
   */
  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    DominoProjectsApiProjectHubTemplateResult dominoProjectsApiProjectHubTemplateResult = (DominoProjectsApiProjectHubTemplateResult) o;
    return Objects.equals(this.base64Logo, dominoProjectsApiProjectHubTemplateResult.base64Logo) &&
        Objects.equals(this.categories, dominoProjectsApiProjectHubTemplateResult.categories) &&
        Objects.equals(this.created, dominoProjectsApiProjectHubTemplateResult.created) &&
        Objects.equals(this.data, dominoProjectsApiProjectHubTemplateResult.data) &&
        Objects.equals(this.dataFormat, dominoProjectsApiProjectHubTemplateResult.dataFormat) &&
        Objects.equals(this.description, dominoProjectsApiProjectHubTemplateResult.description) &&
        Objects.equals(this.environment, dominoProjectsApiProjectHubTemplateResult.environment) &&
        Objects.equals(this.environmentReqs, dominoProjectsApiProjectHubTemplateResult.environmentReqs) &&
        Objects.equals(this.goals, dominoProjectsApiProjectHubTemplateResult.goals) &&
        Objects.equals(this.hardwareTier, dominoProjectsApiProjectHubTemplateResult.hardwareTier) &&
        Objects.equals(this.importedRepositories, dominoProjectsApiProjectHubTemplateResult.importedRepositories) &&
        Objects.equals(this.license, dominoProjectsApiProjectHubTemplateResult.license) &&
        Objects.equals(this.mainRepository, dominoProjectsApiProjectHubTemplateResult.mainRepository) &&
        Objects.equals(this.models, dominoProjectsApiProjectHubTemplateResult.models) &&
        Objects.equals(this.owner, dominoProjectsApiProjectHubTemplateResult.owner) &&
        Objects.equals(this.prerequisites, dominoProjectsApiProjectHubTemplateResult.prerequisites) &&
        Objects.equals(this.recommended, dominoProjectsApiProjectHubTemplateResult.recommended) &&
        Objects.equals(this.revisionId, dominoProjectsApiProjectHubTemplateResult.revisionId) &&
        Objects.equals(this.templateId, dominoProjectsApiProjectHubTemplateResult.templateId) &&
        Objects.equals(this.title, dominoProjectsApiProjectHubTemplateResult.title) &&
        Objects.equals(this.updated, dominoProjectsApiProjectHubTemplateResult.updated);
  }

  @Override
  public int hashCode() {
    return Objects.hash(base64Logo, categories, created, data, dataFormat, description, environment, environmentReqs, goals, hardwareTier, importedRepositories, license, mainRepository, models, owner, prerequisites, recommended, revisionId, templateId, title, updated);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class DominoProjectsApiProjectHubTemplateResult {\n");
    sb.append("    base64Logo: ").append(toIndentedString(base64Logo)).append("\n");
    sb.append("    categories: ").append(toIndentedString(categories)).append("\n");
    sb.append("    created: ").append(toIndentedString(created)).append("\n");
    sb.append("    data: ").append(toIndentedString(data)).append("\n");
    sb.append("    dataFormat: ").append(toIndentedString(dataFormat)).append("\n");
    sb.append("    description: ").append(toIndentedString(description)).append("\n");
    sb.append("    environment: ").append(toIndentedString(environment)).append("\n");
    sb.append("    environmentReqs: ").append(toIndentedString(environmentReqs)).append("\n");
    sb.append("    goals: ").append(toIndentedString(goals)).append("\n");
    sb.append("    hardwareTier: ").append(toIndentedString(hardwareTier)).append("\n");
    sb.append("    importedRepositories: ").append(toIndentedString(importedRepositories)).append("\n");
    sb.append("    license: ").append(toIndentedString(license)).append("\n");
    sb.append("    mainRepository: ").append(toIndentedString(mainRepository)).append("\n");
    sb.append("    models: ").append(toIndentedString(models)).append("\n");
    sb.append("    owner: ").append(toIndentedString(owner)).append("\n");
    sb.append("    prerequisites: ").append(toIndentedString(prerequisites)).append("\n");
    sb.append("    recommended: ").append(toIndentedString(recommended)).append("\n");
    sb.append("    revisionId: ").append(toIndentedString(revisionId)).append("\n");
    sb.append("    templateId: ").append(toIndentedString(templateId)).append("\n");
    sb.append("    title: ").append(toIndentedString(title)).append("\n");
    sb.append("    updated: ").append(toIndentedString(updated)).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 `base64Logo` to the URL query string
    if (getBase64Logo() != null) {
      joiner.add(String.format("%sbase64Logo%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getBase64Logo()), StandardCharsets.UTF_8).replaceAll("\\+", "%20")));
    }

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

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

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

    // add `dataFormat` to the URL query string
    if (getDataFormat() != null) {
      joiner.add(String.format("%sdataFormat%s=%s", prefix, suffix, URLEncoder.encode(String.valueOf(getDataFormat()), 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 `environment` to the URL query string
    if (getEnvironment() != null) {
      joiner.add(getEnvironment().toUrlQueryString(prefix + "environment" + suffix));
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    return joiner.toString();
  }
}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy