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

com.factset.sdk.FactSetEstimates.models.DetailEstimate Maven / Gradle / Ivy

/*
 * FactSet Estimates
 * Gain access to 20+ years of comprehensive estimates and statistics of over 250+ estimated metrics, including financial statement items, product segments, geosegments, and industry metrics. FactSet's consensus estimates are aggregated from a wide base of over 800+ contributors and cover over 19,000 active companies across 90+ countries. Data returned can be accessed on the data frequencies based on quarterly, fiscal years, and calendar years. FactSet Estimates updates on a real time basis intraday (every 5 minutes). Updating times vary based on earning season vs. non-earning season but the goal is to have the data available to the client within a few hours that FactSet receives updated information. Often times updates times can be much faster as FactSet has always been known as one of the fastest estimate providers in the market. 
 *
 * The version of the OpenAPI document: 2.5.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.FactSetEstimates.models;

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 java.time.LocalDate;
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.FactSetEstimates.JSON;


/**
 * DetailEstimate
 */
@JsonPropertyOrder({
  DetailEstimate.JSON_PROPERTY_FSYM_ID,
  DetailEstimate.JSON_PROPERTY_METRIC,
  DetailEstimate.JSON_PROPERTY_PERIODICITY,
  DetailEstimate.JSON_PROPERTY_FISCAL_YEAR,
  DetailEstimate.JSON_PROPERTY_FISCAL_PERIOD,
  DetailEstimate.JSON_PROPERTY_FISCAL_END_DATE,
  DetailEstimate.JSON_PROPERTY_RELATIVE_PERIOD,
  DetailEstimate.JSON_PROPERTY_CURRENCY,
  DetailEstimate.JSON_PROPERTY_ESTIMATE_DATE,
  DetailEstimate.JSON_PROPERTY_ESTIMATE_VALUE,
  DetailEstimate.JSON_PROPERTY_ANALYST_ID,
  DetailEstimate.JSON_PROPERTY_ANALYST_NAME,
  DetailEstimate.JSON_PROPERTY_BROKER_ID,
  DetailEstimate.JSON_PROPERTY_BROKER_NAME,
  DetailEstimate.JSON_PROPERTY_LAST_MODIFIED_DATE,
  DetailEstimate.JSON_PROPERTY_PREV_ESTIMATE_DATE,
  DetailEstimate.JSON_PROPERTY_PREV_ESTIMATE_VALUE,
  DetailEstimate.JSON_PROPERTY_SECTION,
  DetailEstimate.JSON_PROPERTY_STATUS_CODE,
  DetailEstimate.JSON_PROPERTY_STATUS_TEXT,
  DetailEstimate.JSON_PROPERTY_REQUEST_ID,
  DetailEstimate.JSON_PROPERTY_INPUT_DATE_TIME,
  DetailEstimate.JSON_PROPERTY_SECURITY_CURRENCY,
  DetailEstimate.JSON_PROPERTY_BROKER_ESTIMATE_CURRENCY,
  DetailEstimate.JSON_PROPERTY_ESTIMATE_CURRENCY
})
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")

public class DetailEstimate implements Serializable {
  private static final long serialVersionUID = 1L;

  public static final String JSON_PROPERTY_FSYM_ID = "fsymId";
  private JsonNullable fsymId = JsonNullable.undefined();

  public static final String JSON_PROPERTY_METRIC = "metric";
  private JsonNullable metric = JsonNullable.undefined();

  public static final String JSON_PROPERTY_PERIODICITY = "periodicity";
  private JsonNullable periodicity = JsonNullable.undefined();

  public static final String JSON_PROPERTY_FISCAL_YEAR = "fiscalYear";
  private JsonNullable fiscalYear = JsonNullable.undefined();

  public static final String JSON_PROPERTY_FISCAL_PERIOD = "fiscalPeriod";
  private JsonNullable fiscalPeriod = JsonNullable.undefined();

  public static final String JSON_PROPERTY_FISCAL_END_DATE = "fiscalEndDate";
  private JsonNullable fiscalEndDate = JsonNullable.undefined();

  public static final String JSON_PROPERTY_RELATIVE_PERIOD = "relativePeriod";
  private JsonNullable relativePeriod = JsonNullable.undefined();

  public static final String JSON_PROPERTY_CURRENCY = "currency";
  private JsonNullable currency = JsonNullable.undefined();

  public static final String JSON_PROPERTY_ESTIMATE_DATE = "estimateDate";
  private JsonNullable estimateDate = JsonNullable.undefined();

  public static final String JSON_PROPERTY_ESTIMATE_VALUE = "estimateValue";
  private JsonNullable estimateValue = JsonNullable.undefined();

  public static final String JSON_PROPERTY_ANALYST_ID = "analystId";
  private JsonNullable analystId = JsonNullable.undefined();

  public static final String JSON_PROPERTY_ANALYST_NAME = "analystName";
  private JsonNullable analystName = JsonNullable.undefined();

  public static final String JSON_PROPERTY_BROKER_ID = "brokerId";
  private JsonNullable brokerId = JsonNullable.undefined();

  public static final String JSON_PROPERTY_BROKER_NAME = "brokerName";
  private JsonNullable brokerName = JsonNullable.undefined();

  public static final String JSON_PROPERTY_LAST_MODIFIED_DATE = "lastModifiedDate";
  private JsonNullable lastModifiedDate = JsonNullable.undefined();

  public static final String JSON_PROPERTY_PREV_ESTIMATE_DATE = "prevEstimateDate";
  private JsonNullable prevEstimateDate = JsonNullable.undefined();

  public static final String JSON_PROPERTY_PREV_ESTIMATE_VALUE = "prevEstimateValue";
  private JsonNullable prevEstimateValue = JsonNullable.undefined();

  public static final String JSON_PROPERTY_SECTION = "section";
  private JsonNullable section = JsonNullable.undefined();

  public static final String JSON_PROPERTY_STATUS_CODE = "statusCode";
  private JsonNullable statusCode = JsonNullable.undefined();

  public static final String JSON_PROPERTY_STATUS_TEXT = "statusText";
  private JsonNullable statusText = JsonNullable.undefined();

  public static final String JSON_PROPERTY_REQUEST_ID = "requestId";
  private String requestId;

  public static final String JSON_PROPERTY_INPUT_DATE_TIME = "inputDateTime";
  private JsonNullable inputDateTime = JsonNullable.undefined();

  public static final String JSON_PROPERTY_SECURITY_CURRENCY = "securityCurrency";
  private JsonNullable securityCurrency = JsonNullable.undefined();

  public static final String JSON_PROPERTY_BROKER_ESTIMATE_CURRENCY = "brokerEstimateCurrency";
  private JsonNullable brokerEstimateCurrency = JsonNullable.undefined();

  public static final String JSON_PROPERTY_ESTIMATE_CURRENCY = "estimateCurrency";
  private JsonNullable estimateCurrency = JsonNullable.undefined();

  public DetailEstimate() { 
  }

  public DetailEstimate fsymId(String fsymId) {
    this.fsymId = JsonNullable.of(fsymId);
    return this;
  }

   /**
   * Get fsymId
   * @return fsymId
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "SJY281-R", value = "")
  @JsonIgnore

  public String getFsymId() {
        return fsymId.orElse(null);
  }

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

  public JsonNullable getFsymId_JsonNullable() {
    return fsymId;
  }
  
  @JsonProperty(JSON_PROPERTY_FSYM_ID)
  public void setFsymId_JsonNullable(JsonNullable fsymId) {
    this.fsymId = fsymId;
  }

  public void setFsymId(String fsymId) {
    this.fsymId = JsonNullable.of(fsymId);
  }


  public DetailEstimate metric(String metric) {
    this.metric = JsonNullable.of(metric);
    return this;
  }

   /**
   * Company's Financial statement 'metric' that is estimated. Use the factset-estimates/v#/metrics endpoint for a complete list. For more details, visit [Online Assistant Page #15034](https://oa.apps.factset.com/pages/15034).
   * @return metric
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "SALES", value = "Company's Financial statement 'metric' that is estimated. Use the factset-estimates/v#/metrics endpoint for a complete list. For more details, visit [Online Assistant Page #15034](https://oa.apps.factset.com/pages/15034).")
  @JsonIgnore

  public String getMetric() {
        return metric.orElse(null);
  }

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

  public JsonNullable getMetric_JsonNullable() {
    return metric;
  }
  
  @JsonProperty(JSON_PROPERTY_METRIC)
  public void setMetric_JsonNullable(JsonNullable metric) {
    this.metric = metric;
  }

  public void setMetric(String metric) {
    this.metric = JsonNullable.of(metric);
  }


  public DetailEstimate periodicity(String periodicity) {
    this.periodicity = JsonNullable.of(periodicity);
    return this;
  }

   /**
   * Company's 'periodicity' for the estimate record, reflecting Annual, Quarterly, or Semi-Annual report periods.
   * @return periodicity
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "ANN", value = "Company's 'periodicity' for the estimate record, reflecting Annual, Quarterly, or Semi-Annual report periods.")
  @JsonIgnore

  public String getPeriodicity() {
        return periodicity.orElse(null);
  }

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

  public JsonNullable getPeriodicity_JsonNullable() {
    return periodicity;
  }
  
  @JsonProperty(JSON_PROPERTY_PERIODICITY)
  public void setPeriodicity_JsonNullable(JsonNullable periodicity) {
    this.periodicity = periodicity;
  }

  public void setPeriodicity(String periodicity) {
    this.periodicity = JsonNullable.of(periodicity);
  }


  public DetailEstimate fiscalYear(Integer fiscalYear) {
    this.fiscalYear = JsonNullable.of(fiscalYear);
    return this;
  }

   /**
   * Company's 'fiscal year' for the estimate record
   * @return fiscalYear
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "2018", value = "Company's 'fiscal year' for the estimate record")
  @JsonIgnore

  public Integer getFiscalYear() {
        return fiscalYear.orElse(null);
  }

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

  public JsonNullable getFiscalYear_JsonNullable() {
    return fiscalYear;
  }
  
  @JsonProperty(JSON_PROPERTY_FISCAL_YEAR)
  public void setFiscalYear_JsonNullable(JsonNullable fiscalYear) {
    this.fiscalYear = fiscalYear;
  }

  public void setFiscalYear(Integer fiscalYear) {
    this.fiscalYear = JsonNullable.of(fiscalYear);
  }


  public DetailEstimate fiscalPeriod(Integer fiscalPeriod) {
    this.fiscalPeriod = JsonNullable.of(fiscalPeriod);
    return this;
  }

   /**
   * Company's 'fiscal period' for the estimate record.  'Periodicity' defines context for period.
   * @return fiscalPeriod
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "4", value = "Company's 'fiscal period' for the estimate record.  'Periodicity' defines context for period.")
  @JsonIgnore

  public Integer getFiscalPeriod() {
        return fiscalPeriod.orElse(null);
  }

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

  public JsonNullable getFiscalPeriod_JsonNullable() {
    return fiscalPeriod;
  }
  
  @JsonProperty(JSON_PROPERTY_FISCAL_PERIOD)
  public void setFiscalPeriod_JsonNullable(JsonNullable fiscalPeriod) {
    this.fiscalPeriod = fiscalPeriod;
  }

  public void setFiscalPeriod(Integer fiscalPeriod) {
    this.fiscalPeriod = JsonNullable.of(fiscalPeriod);
  }


  public DetailEstimate fiscalEndDate(LocalDate fiscalEndDate) {
    this.fiscalEndDate = JsonNullable.of(fiscalEndDate);
    return this;
  }

   /**
   * Company's 'fiscal end date' for the estimate record expressed in YYYY-MM-DD format
   * @return fiscalEndDate
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "Sun Dec 31 00:00:00 UTC 2017", value = "Company's 'fiscal end date' for the estimate record expressed in YYYY-MM-DD format")
  @JsonIgnore

  public LocalDate getFiscalEndDate() {
        return fiscalEndDate.orElse(null);
  }

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

  public JsonNullable getFiscalEndDate_JsonNullable() {
    return fiscalEndDate;
  }
  
  @JsonProperty(JSON_PROPERTY_FISCAL_END_DATE)
  public void setFiscalEndDate_JsonNullable(JsonNullable fiscalEndDate) {
    this.fiscalEndDate = fiscalEndDate;
  }

  public void setFiscalEndDate(LocalDate fiscalEndDate) {
    this.fiscalEndDate = JsonNullable.of(fiscalEndDate);
  }


  public DetailEstimate relativePeriod(Integer relativePeriod) {
    this.relativePeriod = JsonNullable.of(relativePeriod);
    return this;
  }

   /**
   * 'Fiscal period' based on relationship to 'estimate date'. This is not applicable for fixed-consensus endpoint. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16598)
   * @return relativePeriod
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "2", value = "'Fiscal period' based on relationship to 'estimate date'. This is not applicable for fixed-consensus endpoint. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16598)")
  @JsonIgnore

  public Integer getRelativePeriod() {
        return relativePeriod.orElse(null);
  }

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

  public JsonNullable getRelativePeriod_JsonNullable() {
    return relativePeriod;
  }
  
  @JsonProperty(JSON_PROPERTY_RELATIVE_PERIOD)
  public void setRelativePeriod_JsonNullable(JsonNullable relativePeriod) {
    this.relativePeriod = relativePeriod;
  }

  public void setRelativePeriod(Integer relativePeriod) {
    this.relativePeriod = JsonNullable.of(relativePeriod);
  }


  public DetailEstimate currency(String currency) {
    this.currency = JsonNullable.of(currency);
    return this;
  }

   /**
   * Currency code for adjusting the data. Use 'ESTIMATE' as input value for the values in Estimate Currency. For a list of currency ISO codes, visit [Online Assistant Page #1470](https://oa.apps.factset.com/pages/1470).
   * @return currency
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "USD", value = "Currency code for adjusting the data. Use 'ESTIMATE' as input value for the values in Estimate Currency. For a list of currency ISO codes, visit [Online Assistant Page #1470](https://oa.apps.factset.com/pages/1470).")
  @JsonIgnore

  public String getCurrency() {
        return currency.orElse(null);
  }

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

  public JsonNullable getCurrency_JsonNullable() {
    return currency;
  }
  
  @JsonProperty(JSON_PROPERTY_CURRENCY)
  public void setCurrency_JsonNullable(JsonNullable currency) {
    this.currency = currency;
  }

  public void setCurrency(String currency) {
    this.currency = JsonNullable.of(currency);
  }


  public DetailEstimate estimateDate(LocalDate estimateDate) {
    this.estimateDate = JsonNullable.of(estimateDate);
    return this;
  }

   /**
   * Date of estimate expressed in YYYY-MM-DD format. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16598)
   * @return estimateDate
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "Mon Jul 24 00:00:00 UTC 2017", value = "Date of estimate expressed in YYYY-MM-DD format. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16598)")
  @JsonIgnore

  public LocalDate getEstimateDate() {
        return estimateDate.orElse(null);
  }

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

  public JsonNullable getEstimateDate_JsonNullable() {
    return estimateDate;
  }
  
  @JsonProperty(JSON_PROPERTY_ESTIMATE_DATE)
  public void setEstimateDate_JsonNullable(JsonNullable estimateDate) {
    this.estimateDate = estimateDate;
  }

  public void setEstimateDate(LocalDate estimateDate) {
    this.estimateDate = JsonNullable.of(estimateDate);
  }


  public DetailEstimate estimateValue(Double estimateValue) {
    this.estimateValue = JsonNullable.of(estimateValue);
    return this;
  }

   /**
   * The value of the estimate.
   * @return estimateValue
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "23456", value = "The value of the estimate.")
  @JsonIgnore

  public Double getEstimateValue() {
        return estimateValue.orElse(null);
  }

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

  public JsonNullable getEstimateValue_JsonNullable() {
    return estimateValue;
  }
  
  @JsonProperty(JSON_PROPERTY_ESTIMATE_VALUE)
  public void setEstimateValue_JsonNullable(JsonNullable estimateValue) {
    this.estimateValue = estimateValue;
  }

  public void setEstimateValue(Double estimateValue) {
    this.estimateValue = JsonNullable.of(estimateValue);
  }


  public DetailEstimate analystId(String analystId) {
    this.analystId = JsonNullable.of(analystId);
    return this;
  }

   /**
   * The FactSet Entity Identifier for the analyst making the estimate.
   * @return analystId
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "0DXTST-E", value = "The FactSet Entity Identifier for the analyst making the estimate.")
  @JsonIgnore

  public String getAnalystId() {
        return analystId.orElse(null);
  }

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

  public JsonNullable getAnalystId_JsonNullable() {
    return analystId;
  }
  
  @JsonProperty(JSON_PROPERTY_ANALYST_ID)
  public void setAnalystId_JsonNullable(JsonNullable analystId) {
    this.analystId = analystId;
  }

  public void setAnalystId(String analystId) {
    this.analystId = JsonNullable.of(analystId);
  }


  public DetailEstimate analystName(String analystName) {
    this.analystName = JsonNullable.of(analystName);
    return this;
  }

   /**
   * The name of the analyst making the estimate.
   * @return analystName
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "Josh Baer", value = "The name of the analyst making the estimate.")
  @JsonIgnore

  public String getAnalystName() {
        return analystName.orElse(null);
  }

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

  public JsonNullable getAnalystName_JsonNullable() {
    return analystName;
  }
  
  @JsonProperty(JSON_PROPERTY_ANALYST_NAME)
  public void setAnalystName_JsonNullable(JsonNullable analystName) {
    this.analystName = analystName;
  }

  public void setAnalystName(String analystName) {
    this.analystName = JsonNullable.of(analystName);
  }


  public DetailEstimate brokerId(String brokerId) {
    this.brokerId = JsonNullable.of(brokerId);
    return this;
  }

   /**
   * The FactSet Entity Identifier for the broker making the estimate.
   * @return brokerId
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "05FBK7-E", value = "The FactSet Entity Identifier for the broker making the estimate.")
  @JsonIgnore

  public String getBrokerId() {
        return brokerId.orElse(null);
  }

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

  public JsonNullable getBrokerId_JsonNullable() {
    return brokerId;
  }
  
  @JsonProperty(JSON_PROPERTY_BROKER_ID)
  public void setBrokerId_JsonNullable(JsonNullable brokerId) {
    this.brokerId = brokerId;
  }

  public void setBrokerId(String brokerId) {
    this.brokerId = JsonNullable.of(brokerId);
  }


  public DetailEstimate brokerName(String brokerName) {
    this.brokerName = JsonNullable.of(brokerName);
    return this;
  }

   /**
   * The name of the broker making the estimate.
   * @return brokerName
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "Morgan Stanley", value = "The name of the broker making the estimate.")
  @JsonIgnore

  public String getBrokerName() {
        return brokerName.orElse(null);
  }

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

  public JsonNullable getBrokerName_JsonNullable() {
    return brokerName;
  }
  
  @JsonProperty(JSON_PROPERTY_BROKER_NAME)
  public void setBrokerName_JsonNullable(JsonNullable brokerName) {
    this.brokerName = brokerName;
  }

  public void setBrokerName(String brokerName) {
    this.brokerName = JsonNullable.of(brokerName);
  }


  public DetailEstimate lastModifiedDate(LocalDate lastModifiedDate) {
    this.lastModifiedDate = JsonNullable.of(lastModifiedDate);
    return this;
  }

   /**
   * The date at which a broker provided an estimate that is a revision.
   * @return lastModifiedDate
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "Mon Jul 24 00:00:00 UTC 2017", value = "The date at which a broker provided an estimate that is a revision.")
  @JsonIgnore

  public LocalDate getLastModifiedDate() {
        return lastModifiedDate.orElse(null);
  }

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

  public JsonNullable getLastModifiedDate_JsonNullable() {
    return lastModifiedDate;
  }
  
  @JsonProperty(JSON_PROPERTY_LAST_MODIFIED_DATE)
  public void setLastModifiedDate_JsonNullable(JsonNullable lastModifiedDate) {
    this.lastModifiedDate = lastModifiedDate;
  }

  public void setLastModifiedDate(LocalDate lastModifiedDate) {
    this.lastModifiedDate = JsonNullable.of(lastModifiedDate);
  }


  public DetailEstimate prevEstimateDate(LocalDate prevEstimateDate) {
    this.prevEstimateDate = JsonNullable.of(prevEstimateDate);
    return this;
  }

   /**
   * Date the previous estimate was made expressed in YYYY-MM-DD format. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16598)
   * @return prevEstimateDate
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "Tue May 02 00:00:00 UTC 2017", value = "Date the previous estimate was made expressed in YYYY-MM-DD format. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16598)")
  @JsonIgnore

  public LocalDate getPrevEstimateDate() {
        return prevEstimateDate.orElse(null);
  }

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

  public JsonNullable getPrevEstimateDate_JsonNullable() {
    return prevEstimateDate;
  }
  
  @JsonProperty(JSON_PROPERTY_PREV_ESTIMATE_DATE)
  public void setPrevEstimateDate_JsonNullable(JsonNullable prevEstimateDate) {
    this.prevEstimateDate = prevEstimateDate;
  }

  public void setPrevEstimateDate(LocalDate prevEstimateDate) {
    this.prevEstimateDate = JsonNullable.of(prevEstimateDate);
  }


  public DetailEstimate prevEstimateValue(Double prevEstimateValue) {
    this.prevEstimateValue = JsonNullable.of(prevEstimateValue);
    return this;
  }

   /**
   * The value of the previous estimate.
   * @return prevEstimateValue
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "22336", value = "The value of the previous estimate.")
  @JsonIgnore

  public Double getPrevEstimateValue() {
        return prevEstimateValue.orElse(null);
  }

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

  public JsonNullable getPrevEstimateValue_JsonNullable() {
    return prevEstimateValue;
  }
  
  @JsonProperty(JSON_PROPERTY_PREV_ESTIMATE_VALUE)
  public void setPrevEstimateValue_JsonNullable(JsonNullable prevEstimateValue) {
    this.prevEstimateValue = prevEstimateValue;
  }

  public void setPrevEstimateValue(Double prevEstimateValue) {
    this.prevEstimateValue = JsonNullable.of(prevEstimateValue);
  }


  public DetailEstimate section(String section) {
    this.section = JsonNullable.of(section);
    return this;
  }

   /**
   * Section of the estimate.Returns the details of brokers inlcuded and excluded in the consensus
   * @return section
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "Included", value = "Section of the estimate.Returns the details of brokers inlcuded and excluded in the consensus")
  @JsonIgnore

  public String getSection() {
        return section.orElse(null);
  }

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

  public JsonNullable getSection_JsonNullable() {
    return section;
  }
  
  @JsonProperty(JSON_PROPERTY_SECTION)
  public void setSection_JsonNullable(JsonNullable section) {
    this.section = section;
  }

  public void setSection(String section) {
    this.section = JsonNullable.of(section);
  }


  public DetailEstimate statusCode(Integer statusCode) {
    this.statusCode = JsonNullable.of(statusCode);
    return this;
  }

   /**
   * Status code of the estimate.
   * @return statusCode
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "0", value = "Status code of the estimate.")
  @JsonIgnore

  public Integer getStatusCode() {
        return statusCode.orElse(null);
  }

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

  public JsonNullable getStatusCode_JsonNullable() {
    return statusCode;
  }
  
  @JsonProperty(JSON_PROPERTY_STATUS_CODE)
  public void setStatusCode_JsonNullable(JsonNullable statusCode) {
    this.statusCode = statusCode;
  }

  public void setStatusCode(Integer statusCode) {
    this.statusCode = JsonNullable.of(statusCode);
  }


  public DetailEstimate statusText(String statusText) {
    this.statusText = JsonNullable.of(statusText);
    return this;
  }

   /**
   * Status description of the estimate.
   * @return statusText
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "", value = "Status description of the estimate.")
  @JsonIgnore

  public String getStatusText() {
        return statusText.orElse(null);
  }

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

  public JsonNullable getStatusText_JsonNullable() {
    return statusText;
  }
  
  @JsonProperty(JSON_PROPERTY_STATUS_TEXT)
  public void setStatusText_JsonNullable(JsonNullable statusText) {
    this.statusText = statusText;
  }

  public void setStatusText(String statusText) {
    this.statusText = JsonNullable.of(statusText);
  }


  public DetailEstimate requestId(String requestId) {
    this.requestId = requestId;
    return this;
  }

   /**
   * Identifier that was used for the request.
   * @return requestId
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "IBM-US", value = "Identifier that was used for the request.")
  @JsonProperty(JSON_PROPERTY_REQUEST_ID)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)

  public String getRequestId() {
    return requestId;
  }


  @JsonProperty(JSON_PROPERTY_REQUEST_ID)
  @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
  public void setRequestId(String requestId) {
    this.requestId = requestId;
  }


  public DetailEstimate inputDateTime(String inputDateTime) {
    this.inputDateTime = JsonNullable.of(inputDateTime);
    return this;
  }

   /**
   * Date and time when the data is available at the source.
   * @return inputDateTime
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "2022-10-25T22:40:09", value = "Date and time when the data is available at the source.")
  @JsonIgnore

  public String getInputDateTime() {
        return inputDateTime.orElse(null);
  }

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

  public JsonNullable getInputDateTime_JsonNullable() {
    return inputDateTime;
  }
  
  @JsonProperty(JSON_PROPERTY_INPUT_DATE_TIME)
  public void setInputDateTime_JsonNullable(JsonNullable inputDateTime) {
    this.inputDateTime = inputDateTime;
  }

  public void setInputDateTime(String inputDateTime) {
    this.inputDateTime = JsonNullable.of(inputDateTime);
  }


  public DetailEstimate securityCurrency(String securityCurrency) {
    this.securityCurrency = JsonNullable.of(securityCurrency);
    return this;
  }

   /**
   * The currency that the company trades in.
   * @return securityCurrency
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "USD", value = "The currency that the company trades in.")
  @JsonIgnore

  public String getSecurityCurrency() {
        return securityCurrency.orElse(null);
  }

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

  public JsonNullable getSecurityCurrency_JsonNullable() {
    return securityCurrency;
  }
  
  @JsonProperty(JSON_PROPERTY_SECURITY_CURRENCY)
  public void setSecurityCurrency_JsonNullable(JsonNullable securityCurrency) {
    this.securityCurrency = securityCurrency;
  }

  public void setSecurityCurrency(String securityCurrency) {
    this.securityCurrency = JsonNullable.of(securityCurrency);
  }


  public DetailEstimate brokerEstimateCurrency(String brokerEstimateCurrency) {
    this.brokerEstimateCurrency = JsonNullable.of(brokerEstimateCurrency);
    return this;
  }

   /**
   * The currency in which estimates are made by broker.
   * @return brokerEstimateCurrency
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "USD", value = "The currency in which estimates are made by broker.")
  @JsonIgnore

  public String getBrokerEstimateCurrency() {
        return brokerEstimateCurrency.orElse(null);
  }

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

  public JsonNullable getBrokerEstimateCurrency_JsonNullable() {
    return brokerEstimateCurrency;
  }
  
  @JsonProperty(JSON_PROPERTY_BROKER_ESTIMATE_CURRENCY)
  public void setBrokerEstimateCurrency_JsonNullable(JsonNullable brokerEstimateCurrency) {
    this.brokerEstimateCurrency = brokerEstimateCurrency;
  }

  public void setBrokerEstimateCurrency(String brokerEstimateCurrency) {
    this.brokerEstimateCurrency = JsonNullable.of(brokerEstimateCurrency);
  }


  public DetailEstimate estimateCurrency(String estimateCurrency) {
    this.estimateCurrency = JsonNullable.of(estimateCurrency);
    return this;
  }

   /**
   * Estimate currency of the requested Security
   * @return estimateCurrency
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "USD", value = "Estimate currency of the requested Security")
  @JsonIgnore

  public String getEstimateCurrency() {
        return estimateCurrency.orElse(null);
  }

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

  public JsonNullable getEstimateCurrency_JsonNullable() {
    return estimateCurrency;
  }
  
  @JsonProperty(JSON_PROPERTY_ESTIMATE_CURRENCY)
  public void setEstimateCurrency_JsonNullable(JsonNullable estimateCurrency) {
    this.estimateCurrency = estimateCurrency;
  }

  public void setEstimateCurrency(String estimateCurrency) {
    this.estimateCurrency = JsonNullable.of(estimateCurrency);
  }


  /**
   * Return true if this detailEstimate object is equal to o.
   */
  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    DetailEstimate detailEstimate = (DetailEstimate) o;
    return equalsNullable(this.fsymId, detailEstimate.fsymId) &&
        equalsNullable(this.metric, detailEstimate.metric) &&
        equalsNullable(this.periodicity, detailEstimate.periodicity) &&
        equalsNullable(this.fiscalYear, detailEstimate.fiscalYear) &&
        equalsNullable(this.fiscalPeriod, detailEstimate.fiscalPeriod) &&
        equalsNullable(this.fiscalEndDate, detailEstimate.fiscalEndDate) &&
        equalsNullable(this.relativePeriod, detailEstimate.relativePeriod) &&
        equalsNullable(this.currency, detailEstimate.currency) &&
        equalsNullable(this.estimateDate, detailEstimate.estimateDate) &&
        equalsNullable(this.estimateValue, detailEstimate.estimateValue) &&
        equalsNullable(this.analystId, detailEstimate.analystId) &&
        equalsNullable(this.analystName, detailEstimate.analystName) &&
        equalsNullable(this.brokerId, detailEstimate.brokerId) &&
        equalsNullable(this.brokerName, detailEstimate.brokerName) &&
        equalsNullable(this.lastModifiedDate, detailEstimate.lastModifiedDate) &&
        equalsNullable(this.prevEstimateDate, detailEstimate.prevEstimateDate) &&
        equalsNullable(this.prevEstimateValue, detailEstimate.prevEstimateValue) &&
        equalsNullable(this.section, detailEstimate.section) &&
        equalsNullable(this.statusCode, detailEstimate.statusCode) &&
        equalsNullable(this.statusText, detailEstimate.statusText) &&
        Objects.equals(this.requestId, detailEstimate.requestId) &&
        equalsNullable(this.inputDateTime, detailEstimate.inputDateTime) &&
        equalsNullable(this.securityCurrency, detailEstimate.securityCurrency) &&
        equalsNullable(this.brokerEstimateCurrency, detailEstimate.brokerEstimateCurrency) &&
        equalsNullable(this.estimateCurrency, detailEstimate.estimateCurrency);
  }

  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(fsymId), hashCodeNullable(metric), hashCodeNullable(periodicity), hashCodeNullable(fiscalYear), hashCodeNullable(fiscalPeriod), hashCodeNullable(fiscalEndDate), hashCodeNullable(relativePeriod), hashCodeNullable(currency), hashCodeNullable(estimateDate), hashCodeNullable(estimateValue), hashCodeNullable(analystId), hashCodeNullable(analystName), hashCodeNullable(brokerId), hashCodeNullable(brokerName), hashCodeNullable(lastModifiedDate), hashCodeNullable(prevEstimateDate), hashCodeNullable(prevEstimateValue), hashCodeNullable(section), hashCodeNullable(statusCode), hashCodeNullable(statusText), requestId, hashCodeNullable(inputDateTime), hashCodeNullable(securityCurrency), hashCodeNullable(brokerEstimateCurrency), hashCodeNullable(estimateCurrency));
  }

  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 DetailEstimate {\n");
    sb.append("    fsymId: ").append(toIndentedString(fsymId)).append("\n");
    sb.append("    metric: ").append(toIndentedString(metric)).append("\n");
    sb.append("    periodicity: ").append(toIndentedString(periodicity)).append("\n");
    sb.append("    fiscalYear: ").append(toIndentedString(fiscalYear)).append("\n");
    sb.append("    fiscalPeriod: ").append(toIndentedString(fiscalPeriod)).append("\n");
    sb.append("    fiscalEndDate: ").append(toIndentedString(fiscalEndDate)).append("\n");
    sb.append("    relativePeriod: ").append(toIndentedString(relativePeriod)).append("\n");
    sb.append("    currency: ").append(toIndentedString(currency)).append("\n");
    sb.append("    estimateDate: ").append(toIndentedString(estimateDate)).append("\n");
    sb.append("    estimateValue: ").append(toIndentedString(estimateValue)).append("\n");
    sb.append("    analystId: ").append(toIndentedString(analystId)).append("\n");
    sb.append("    analystName: ").append(toIndentedString(analystName)).append("\n");
    sb.append("    brokerId: ").append(toIndentedString(brokerId)).append("\n");
    sb.append("    brokerName: ").append(toIndentedString(brokerName)).append("\n");
    sb.append("    lastModifiedDate: ").append(toIndentedString(lastModifiedDate)).append("\n");
    sb.append("    prevEstimateDate: ").append(toIndentedString(prevEstimateDate)).append("\n");
    sb.append("    prevEstimateValue: ").append(toIndentedString(prevEstimateValue)).append("\n");
    sb.append("    section: ").append(toIndentedString(section)).append("\n");
    sb.append("    statusCode: ").append(toIndentedString(statusCode)).append("\n");
    sb.append("    statusText: ").append(toIndentedString(statusText)).append("\n");
    sb.append("    requestId: ").append(toIndentedString(requestId)).append("\n");
    sb.append("    inputDateTime: ").append(toIndentedString(inputDateTime)).append("\n");
    sb.append("    securityCurrency: ").append(toIndentedString(securityCurrency)).append("\n");
    sb.append("    brokerEstimateCurrency: ").append(toIndentedString(brokerEstimateCurrency)).append("\n");
    sb.append("    estimateCurrency: ").append(toIndentedString(estimateCurrency)).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