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

com.factset.sdk.FactSetRBICS.models.Structure Maven / Gradle / Ivy

/*
 * FactSet RIBCS
 * FactSet Revere Business Industry Classification System (RBICS) is a comprehensive structured taxonomy to classify companies by what they primarily do. It delivers a granular view for investors by classifying companies using a bottom-up approach according to the products and services they provide. By combining this approach with a top-level grouping based on companies' behavior similarities and stock co-movement, FactSet RBICS delivers unprecedented precision for 1,400+ sector groups.  RBICS Focus is a six level classification which highlights the companys main business. It is based on the company business line/s that stand for majority of a the revenue that the company generates. Updated monthly. For more details, visit [Online Assitant Page #20710](https://oa.apps.factset.com/pages/20710). 
 *
 * The version of the OpenAPI document: 1.1.0
 * 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.factset.sdk.FactSetRBICS.models;

import java.util.Map;
import java.util.HashMap;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.openapitools.jackson.nullable.JsonNullable;
import com.fasterxml.jackson.annotation.JsonIgnore;
import org.openapitools.jackson.nullable.JsonNullable;
import java.util.NoSuchElementException;
import java.io.Serializable;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.factset.sdk.FactSetRBICS.JSON;


/**
 * Structure
 */
@JsonPropertyOrder({
  Structure.JSON_PROPERTY_RBICS_ID,
  Structure.JSON_PROPERTY_FIRST_DATE,
  Structure.JSON_PROPERTY_LAST_DATE
})
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class Structure implements Serializable {
  private static final long serialVersionUID = 1L;

  public static final String JSON_PROPERTY_RBICS_ID = "rbicsId";
  private JsonNullable rbicsId = JsonNullable.undefined();

  public static final String JSON_PROPERTY_FIRST_DATE = "firstDate";
  private JsonNullable firstDate = JsonNullable.undefined();

  public static final String JSON_PROPERTY_LAST_DATE = "lastDate";
  private JsonNullable lastDate = JsonNullable.undefined();

  public Structure() { 
  }

  public Structure rbicsId(String rbicsId) {
    this.rbicsId = JsonNullable.of(rbicsId);
    return this;
  }

   /**
   * RBICS Code for the classification.
   * @return rbicsId
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "101010101010", value = "RBICS Code for the classification.")
  @JsonIgnore

  public String getRbicsId() {
        return rbicsId.orElse(null);
  }

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

  public JsonNullable getRbicsId_JsonNullable() {
    return rbicsId;
  }
  
  @JsonProperty(JSON_PROPERTY_RBICS_ID)
  public void setRbicsId_JsonNullable(JsonNullable rbicsId) {
    this.rbicsId = rbicsId;
  }

  public void setRbicsId(String rbicsId) {
    this.rbicsId = JsonNullable.of(rbicsId);
  }


  public Structure firstDate(String firstDate) {
    this.firstDate = JsonNullable.of(firstDate);
    return this;
  }

   /**
   * First date of the classification.
   * @return firstDate
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(example = "1945-01-01T00:00:00.000", value = "First date of the classification.")
  @JsonIgnore

  public String getFirstDate() {
        return firstDate.orElse(null);
  }

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

  public JsonNullable getFirstDate_JsonNullable() {
    return firstDate;
  }
  
  @JsonProperty(JSON_PROPERTY_FIRST_DATE)
  public void setFirstDate_JsonNullable(JsonNullable firstDate) {
    this.firstDate = firstDate;
  }

  public void setFirstDate(String firstDate) {
    this.firstDate = JsonNullable.of(firstDate);
  }


  public Structure lastDate(String lastDate) {
    this.lastDate = JsonNullable.of(lastDate);
    return this;
  }

   /**
   * Date when the classification became no longer valid. If `null`, the classification is still valid.
   * @return lastDate
  **/
  @javax.annotation.Nullable
  @ApiModelProperty(value = "Date when the classification became no longer valid. If `null`, the classification is still valid.")
  @JsonIgnore

  public String getLastDate() {
        return lastDate.orElse(null);
  }

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

  public JsonNullable getLastDate_JsonNullable() {
    return lastDate;
  }
  
  @JsonProperty(JSON_PROPERTY_LAST_DATE)
  public void setLastDate_JsonNullable(JsonNullable lastDate) {
    this.lastDate = lastDate;
  }

  public void setLastDate(String lastDate) {
    this.lastDate = JsonNullable.of(lastDate);
  }

  /**
   * A container for additional, undeclared properties.
   * This is a holder for any undeclared properties as specified with
   * the 'additionalProperties' keyword in the OAS document.
   */
  private Map additionalProperties;

  /**
   * Set the additional (undeclared) property with the specified name and value.
   * If the property does not already exist, create it otherwise replace it.
   */
  @JsonAnySetter
  public Structure putAdditionalProperty(String key, Object value) {
    if (this.additionalProperties == null) {
        this.additionalProperties = new HashMap();
    }
    this.additionalProperties.put(key, value);
    return this;
  }

  /**
   * Return the additional (undeclared) property.
   */
  @JsonAnyGetter
  public Map getAdditionalProperties() {
    return additionalProperties;
  }

  /**
   * Return the additional (undeclared) property with the specified name.
   */
  public Object getAdditionalProperty(String key) {
    if (this.additionalProperties == null) {
        return null;
    }
    return this.additionalProperties.get(key);
  }

  /**
   * Return true if this structure object is equal to o.
   */
  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    Structure structure = (Structure) o;
    return equalsNullable(this.rbicsId, structure.rbicsId) &&
        equalsNullable(this.firstDate, structure.firstDate) &&
        equalsNullable(this.lastDate, structure.lastDate)&&
        Objects.equals(this.additionalProperties, structure.additionalProperties);
  }

  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(rbicsId), hashCodeNullable(firstDate), hashCodeNullable(lastDate), additionalProperties);
  }

  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 Structure {\n");
    sb.append("    rbicsId: ").append(toIndentedString(rbicsId)).append("\n");
    sb.append("    firstDate: ").append(toIndentedString(firstDate)).append("\n");
    sb.append("    lastDate: ").append(toIndentedString(lastDate)).append("\n");
    sb.append("    additionalProperties: ").append(toIndentedString(additionalProperties)).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