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

com.factset.sdk.FactSetEstimates.models.SegmentsEstimate 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;


/**
 * SegmentsEstimate
 */
@JsonPropertyOrder({
  SegmentsEstimate.JSON_PROPERTY_REQUEST_ID,
  SegmentsEstimate.JSON_PROPERTY_FSYM_ID,
  SegmentsEstimate.JSON_PROPERTY_SEGMENT_TYPE,
  SegmentsEstimate.JSON_PROPERTY_METRIC,
  SegmentsEstimate.JSON_PROPERTY_FISCAL_PERIOD,
  SegmentsEstimate.JSON_PROPERTY_FISCAL_YEAR,
  SegmentsEstimate.JSON_PROPERTY_SEGMENT_LABEL,
  SegmentsEstimate.JSON_PROPERTY_SEGMENT_LEVEL,
  SegmentsEstimate.JSON_PROPERTY_FISCAL_END_DATE,
  SegmentsEstimate.JSON_PROPERTY_ESTIMATE_DATE,
  SegmentsEstimate.JSON_PROPERTY_CURRENCY,
  SegmentsEstimate.JSON_PROPERTY_ESTIMATE_CURRENCY,
  SegmentsEstimate.JSON_PROPERTY_MEAN,
  SegmentsEstimate.JSON_PROPERTY_MEDIAN,
  SegmentsEstimate.JSON_PROPERTY_STANDARD_DEVIATION,
  SegmentsEstimate.JSON_PROPERTY_HIGH,
  SegmentsEstimate.JSON_PROPERTY_LOW,
  SegmentsEstimate.JSON_PROPERTY_ESTIMATE_COUNT,
  SegmentsEstimate.JSON_PROPERTY_UP,
  SegmentsEstimate.JSON_PROPERTY_DOWN
})
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")

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

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

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

  public static final String JSON_PROPERTY_SEGMENT_TYPE = "segmentType";
  private JsonNullable segmentType = JsonNullable.undefined();

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

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

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

  public static final String JSON_PROPERTY_SEGMENT_LABEL = "segmentLabel";
  private JsonNullable segmentLabel = JsonNullable.undefined();

  public static final String JSON_PROPERTY_SEGMENT_LEVEL = "segmentLevel";
  private JsonNullable segmentLevel = JsonNullable.undefined();

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

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

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

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

  public static final String JSON_PROPERTY_MEAN = "mean";
  private JsonNullable mean = JsonNullable.undefined();

  public static final String JSON_PROPERTY_MEDIAN = "median";
  private JsonNullable median = JsonNullable.undefined();

  public static final String JSON_PROPERTY_STANDARD_DEVIATION = "standardDeviation";
  private JsonNullable standardDeviation = JsonNullable.undefined();

  public static final String JSON_PROPERTY_HIGH = "high";
  private JsonNullable high = JsonNullable.undefined();

  public static final String JSON_PROPERTY_LOW = "low";
  private JsonNullable low = JsonNullable.undefined();

  public static final String JSON_PROPERTY_ESTIMATE_COUNT = "estimateCount";
  private JsonNullable estimateCount = JsonNullable.undefined();

  public static final String JSON_PROPERTY_UP = "up";
  private JsonNullable up = JsonNullable.undefined();

  public static final String JSON_PROPERTY_DOWN = "down";
  private JsonNullable down = JsonNullable.undefined();

  public SegmentsEstimate() { 
  }

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

   /**
   * Identifier that was used for the request.
   * @return requestId
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "AAPL", 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 SegmentsEstimate fsymId(String fsymId) {
    this.fsymId = JsonNullable.of(fsymId);
    return this;
  }

   /**
   * Factset Regional Security Identifier. Six alpha-numeric characters, excluding vowels, with an -R suffix (XXXXXX-R). Identifies the security’s best regional security data series per currency. For equities, all primary listings per region and currency are allocated a regional-level permanent identifier. The regional-level permanent identifier will be available once a SEDOL representing the region/currency has been allocated and the identifiers are on FactSet.
   * @return fsymId
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "SJY281-R", value = "Factset Regional Security Identifier. Six alpha-numeric characters, excluding vowels, with an -R suffix (XXXXXX-R). Identifies the security’s best regional security data series per currency. For equities, all primary listings per region and currency are allocated a regional-level permanent identifier. The regional-level permanent identifier will be available once a SEDOL representing the region/currency has been allocated and the identifiers are on FactSet.")
  @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 SegmentsEstimate segmentType(String segmentType) {
    this.segmentType = JsonNullable.of(segmentType);
    return this;
  }

   /**
   * Segment selected
   * @return segmentType
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "BUS", value = "Segment selected")
  @JsonIgnore

  public String getSegmentType() {
        return segmentType.orElse(null);
  }

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

  public JsonNullable getSegmentType_JsonNullable() {
    return segmentType;
  }
  
  @JsonProperty(JSON_PROPERTY_SEGMENT_TYPE)
  public void setSegmentType_JsonNullable(JsonNullable segmentType) {
    this.segmentType = segmentType;
  }

  public void setSegmentType(String segmentType) {
    this.segmentType = JsonNullable.of(segmentType);
  }


  public SegmentsEstimate 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 SegmentsEstimate fiscalPeriod(Integer fiscalPeriod) {
    this.fiscalPeriod = JsonNullable.of(fiscalPeriod);
    return this;
  }

   /**
   * Company's 'fiscal period' for the estimate record. Periods for periodicity of ANN = 1, and SEMI = 2. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16598).
   * @return fiscalPeriod
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "1", value = "Company's 'fiscal period' for the estimate record. Periods for periodicity of ANN = 1, and SEMI = 2. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16598).")
  @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 SegmentsEstimate fiscalYear(Integer fiscalYear) {
    this.fiscalYear = JsonNullable.of(fiscalYear);
    return this;
  }

   /**
   * Company's 'fiscal year' for the estimate record. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16598)
   * @return fiscalYear
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "2018", value = "Company's 'fiscal year' for the estimate record. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16598)")
  @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 SegmentsEstimate segmentLabel(String segmentLabel) {
    this.segmentLabel = JsonNullable.of(segmentLabel);
    return this;
  }

   /**
   * Displays the specific label of the segment.
   * @return segmentLabel
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "iPhone", value = "Displays the specific label of the segment.")
  @JsonIgnore

  public String getSegmentLabel() {
        return segmentLabel.orElse(null);
  }

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

  public JsonNullable getSegmentLabel_JsonNullable() {
    return segmentLabel;
  }
  
  @JsonProperty(JSON_PROPERTY_SEGMENT_LABEL)
  public void setSegmentLabel_JsonNullable(JsonNullable segmentLabel) {
    this.segmentLabel = segmentLabel;
  }

  public void setSegmentLabel(String segmentLabel) {
    this.segmentLabel = JsonNullable.of(segmentLabel);
  }


  public SegmentsEstimate segmentLevel(String segmentLevel) {
    this.segmentLevel = JsonNullable.of(segmentLevel);
    return this;
  }

   /**
   * Returns the level of the segment item as either P = Parent or S = Subordinate
   * @return segmentLevel
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "S", value = "Returns the level of the segment item as either P = Parent or S = Subordinate")
  @JsonIgnore

  public String getSegmentLevel() {
        return segmentLevel.orElse(null);
  }

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

  public JsonNullable getSegmentLevel_JsonNullable() {
    return segmentLevel;
  }
  
  @JsonProperty(JSON_PROPERTY_SEGMENT_LEVEL)
  public void setSegmentLevel_JsonNullable(JsonNullable segmentLevel) {
    this.segmentLevel = segmentLevel;
  }

  public void setSegmentLevel(String segmentLevel) {
    this.segmentLevel = JsonNullable.of(segmentLevel);
  }


  public SegmentsEstimate 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. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16598)
   * @return fiscalEndDate
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "Thu Sep 30 00:00:00 UTC 2021", value = "Company's 'fiscal end date' for the estimate record expressed in YYYY-MM-DD format. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16598)")
  @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 SegmentsEstimate estimateDate(LocalDate estimateDate) {
    this.estimateDate = JsonNullable.of(estimateDate);
    return this;
  }

   /**
   * The date the estimates are as of in YYYY-MM-DD format.
   * @return estimateDate
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "Thu Jul 01 00:00:00 UTC 2021", value = "The date the estimates are as of in YYYY-MM-DD format.")
  @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 SegmentsEstimate currency(String currency) {
    this.currency = JsonNullable.of(currency);
    return this;
  }

   /**
   * Currency used estimates in consensus calculations. Use 'ESTIMATE' as input for 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 used estimates in consensus calculations. Use 'ESTIMATE' as input for 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 SegmentsEstimate 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);
  }


  public SegmentsEstimate mean(Double mean) {
    this.mean = JsonNullable.of(mean);
    return this;
  }

   /**
   * Mean of estimates in consensus calculation. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16114)
   * @return mean
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "12345.01", value = "Mean of estimates in consensus calculation. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16114)")
  @JsonIgnore

  public Double getMean() {
        return mean.orElse(null);
  }

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

  public JsonNullable getMean_JsonNullable() {
    return mean;
  }
  
  @JsonProperty(JSON_PROPERTY_MEAN)
  public void setMean_JsonNullable(JsonNullable mean) {
    this.mean = mean;
  }

  public void setMean(Double mean) {
    this.mean = JsonNullable.of(mean);
  }


  public SegmentsEstimate median(Double median) {
    this.median = JsonNullable.of(median);
    return this;
  }

   /**
   * Median of estimates in consensus calculation. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16114)
   * @return median
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "12346.01", value = "Median of estimates in consensus calculation. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16114)")
  @JsonIgnore

  public Double getMedian() {
        return median.orElse(null);
  }

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

  public JsonNullable getMedian_JsonNullable() {
    return median;
  }
  
  @JsonProperty(JSON_PROPERTY_MEDIAN)
  public void setMedian_JsonNullable(JsonNullable median) {
    this.median = median;
  }

  public void setMedian(Double median) {
    this.median = JsonNullable.of(median);
  }


  public SegmentsEstimate standardDeviation(Double standardDeviation) {
    this.standardDeviation = JsonNullable.of(standardDeviation);
    return this;
  }

   /**
   * Standard deviation of estimates in consensus calculation. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16114)
   * @return standardDeviation
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "0.011034", value = "Standard deviation of estimates in consensus calculation. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16114)")
  @JsonIgnore

  public Double getStandardDeviation() {
        return standardDeviation.orElse(null);
  }

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

  public JsonNullable getStandardDeviation_JsonNullable() {
    return standardDeviation;
  }
  
  @JsonProperty(JSON_PROPERTY_STANDARD_DEVIATION)
  public void setStandardDeviation_JsonNullable(JsonNullable standardDeviation) {
    this.standardDeviation = standardDeviation;
  }

  public void setStandardDeviation(Double standardDeviation) {
    this.standardDeviation = JsonNullable.of(standardDeviation);
  }


  public SegmentsEstimate high(Double high) {
    this.high = JsonNullable.of(high);
    return this;
  }

   /**
   * Highest estimate in consensus calculation. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16114).
   * @return high
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "12349.01", value = "Highest estimate in consensus calculation. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16114).")
  @JsonIgnore

  public Double getHigh() {
        return high.orElse(null);
  }

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

  public JsonNullable getHigh_JsonNullable() {
    return high;
  }
  
  @JsonProperty(JSON_PROPERTY_HIGH)
  public void setHigh_JsonNullable(JsonNullable high) {
    this.high = high;
  }

  public void setHigh(Double high) {
    this.high = JsonNullable.of(high);
  }


  public SegmentsEstimate low(Double low) {
    this.low = JsonNullable.of(low);
    return this;
  }

   /**
   * Lowest estimate in consensus calculation. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16114)
   * @return low
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "12344.01", value = "Lowest estimate in consensus calculation. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16114)")
  @JsonIgnore

  public Double getLow() {
        return low.orElse(null);
  }

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

  public JsonNullable getLow_JsonNullable() {
    return low;
  }
  
  @JsonProperty(JSON_PROPERTY_LOW)
  public void setLow_JsonNullable(JsonNullable low) {
    this.low = low;
  }

  public void setLow(Double low) {
    this.low = JsonNullable.of(low);
  }


  public SegmentsEstimate estimateCount(Integer estimateCount) {
    this.estimateCount = JsonNullable.of(estimateCount);
    return this;
  }

   /**
   * Count or NEST of estimates in consensus calculation. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16114)
   * @return estimateCount
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "20", value = "Count or NEST of estimates in consensus calculation. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16114)")
  @JsonIgnore

  public Integer getEstimateCount() {
        return estimateCount.orElse(null);
  }

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

  public JsonNullable getEstimateCount_JsonNullable() {
    return estimateCount;
  }
  
  @JsonProperty(JSON_PROPERTY_ESTIMATE_COUNT)
  public void setEstimateCount_JsonNullable(JsonNullable estimateCount) {
    this.estimateCount = estimateCount;
  }

  public void setEstimateCount(Integer estimateCount) {
    this.estimateCount = JsonNullable.of(estimateCount);
  }


  public SegmentsEstimate up(Integer up) {
    this.up = JsonNullable.of(up);
    return this;
  }

   /**
   * Number of Up Revisions within the consensus for the metric and period. The default window size is 100 days For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16114).
   * @return up
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "6", value = "Number of Up Revisions within the consensus for the metric and period. The default window size is 100 days For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16114).")
  @JsonIgnore

  public Integer getUp() {
        return up.orElse(null);
  }

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

  public JsonNullable getUp_JsonNullable() {
    return up;
  }
  
  @JsonProperty(JSON_PROPERTY_UP)
  public void setUp_JsonNullable(JsonNullable up) {
    this.up = up;
  }

  public void setUp(Integer up) {
    this.up = JsonNullable.of(up);
  }


  public SegmentsEstimate down(Integer down) {
    this.down = JsonNullable.of(down);
    return this;
  }

   /**
   * Number of Up Revisions within the consensus for the metric and period. The default window size is 100 days. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16114).
   * @return down
  **/
  @jakarta.annotation.Nullable
  @ApiModelProperty(example = "4", value = "Number of Up Revisions within the consensus for the metric and period. The default window size is 100 days. For more details, visit [Online Assistant Page #16598](https://oa.apps.factset.com/pages/16114).")
  @JsonIgnore

  public Integer getDown() {
        return down.orElse(null);
  }

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

  public JsonNullable getDown_JsonNullable() {
    return down;
  }
  
  @JsonProperty(JSON_PROPERTY_DOWN)
  public void setDown_JsonNullable(JsonNullable down) {
    this.down = down;
  }

  public void setDown(Integer down) {
    this.down = JsonNullable.of(down);
  }


  /**
   * Return true if this segmentsEstimate object is equal to o.
   */
  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    SegmentsEstimate segmentsEstimate = (SegmentsEstimate) o;
    return Objects.equals(this.requestId, segmentsEstimate.requestId) &&
        equalsNullable(this.fsymId, segmentsEstimate.fsymId) &&
        equalsNullable(this.segmentType, segmentsEstimate.segmentType) &&
        equalsNullable(this.metric, segmentsEstimate.metric) &&
        equalsNullable(this.fiscalPeriod, segmentsEstimate.fiscalPeriod) &&
        equalsNullable(this.fiscalYear, segmentsEstimate.fiscalYear) &&
        equalsNullable(this.segmentLabel, segmentsEstimate.segmentLabel) &&
        equalsNullable(this.segmentLevel, segmentsEstimate.segmentLevel) &&
        equalsNullable(this.fiscalEndDate, segmentsEstimate.fiscalEndDate) &&
        equalsNullable(this.estimateDate, segmentsEstimate.estimateDate) &&
        equalsNullable(this.currency, segmentsEstimate.currency) &&
        equalsNullable(this.estimateCurrency, segmentsEstimate.estimateCurrency) &&
        equalsNullable(this.mean, segmentsEstimate.mean) &&
        equalsNullable(this.median, segmentsEstimate.median) &&
        equalsNullable(this.standardDeviation, segmentsEstimate.standardDeviation) &&
        equalsNullable(this.high, segmentsEstimate.high) &&
        equalsNullable(this.low, segmentsEstimate.low) &&
        equalsNullable(this.estimateCount, segmentsEstimate.estimateCount) &&
        equalsNullable(this.up, segmentsEstimate.up) &&
        equalsNullable(this.down, segmentsEstimate.down);
  }

  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(requestId, hashCodeNullable(fsymId), hashCodeNullable(segmentType), hashCodeNullable(metric), hashCodeNullable(fiscalPeriod), hashCodeNullable(fiscalYear), hashCodeNullable(segmentLabel), hashCodeNullable(segmentLevel), hashCodeNullable(fiscalEndDate), hashCodeNullable(estimateDate), hashCodeNullable(currency), hashCodeNullable(estimateCurrency), hashCodeNullable(mean), hashCodeNullable(median), hashCodeNullable(standardDeviation), hashCodeNullable(high), hashCodeNullable(low), hashCodeNullable(estimateCount), hashCodeNullable(up), hashCodeNullable(down));
  }

  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 SegmentsEstimate {\n");
    sb.append("    requestId: ").append(toIndentedString(requestId)).append("\n");
    sb.append("    fsymId: ").append(toIndentedString(fsymId)).append("\n");
    sb.append("    segmentType: ").append(toIndentedString(segmentType)).append("\n");
    sb.append("    metric: ").append(toIndentedString(metric)).append("\n");
    sb.append("    fiscalPeriod: ").append(toIndentedString(fiscalPeriod)).append("\n");
    sb.append("    fiscalYear: ").append(toIndentedString(fiscalYear)).append("\n");
    sb.append("    segmentLabel: ").append(toIndentedString(segmentLabel)).append("\n");
    sb.append("    segmentLevel: ").append(toIndentedString(segmentLevel)).append("\n");
    sb.append("    fiscalEndDate: ").append(toIndentedString(fiscalEndDate)).append("\n");
    sb.append("    estimateDate: ").append(toIndentedString(estimateDate)).append("\n");
    sb.append("    currency: ").append(toIndentedString(currency)).append("\n");
    sb.append("    estimateCurrency: ").append(toIndentedString(estimateCurrency)).append("\n");
    sb.append("    mean: ").append(toIndentedString(mean)).append("\n");
    sb.append("    median: ").append(toIndentedString(median)).append("\n");
    sb.append("    standardDeviation: ").append(toIndentedString(standardDeviation)).append("\n");
    sb.append("    high: ").append(toIndentedString(high)).append("\n");
    sb.append("    low: ").append(toIndentedString(low)).append("\n");
    sb.append("    estimateCount: ").append(toIndentedString(estimateCount)).append("\n");
    sb.append("    up: ").append(toIndentedString(up)).append("\n");
    sb.append("    down: ").append(toIndentedString(down)).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