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

com.factset.sdk.FactSetFundamentals.models.Fundamental Maven / Gradle / Ivy

There is a newer version: 3.2.0
Show newest version
/*
 * FactSet Fundamentals API
 * Gain access to current, comprehensive, and comparative information on securities in worldwide developed and emerging markets. Composed of annual and interim/quarterly data, detailed historical financial statement content, per-share data, and calculated ratios, FactSet Fundamentals provides you with the information you need for a global investment perspective.

This API is rate-limited to 10 requests per second and 10 concurrent requests per user.

* * The version of the OpenAPI document: 2.2.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.FactSetFundamentals.models; import java.util.Objects; import java.util.Arrays; import java.util.Map; import java.util.HashMap; import com.factset.sdk.FactSetFundamentals.models.FundamentalValue; 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.FactSetFundamentals.JSON; /** * FactSet Fundamentals Response item */ @ApiModel(description = "FactSet Fundamentals Response item") @JsonPropertyOrder({ Fundamental.JSON_PROPERTY_REQUEST_ID, Fundamental.JSON_PROPERTY_FSYM_ID, Fundamental.JSON_PROPERTY_METRIC, Fundamental.JSON_PROPERTY_PERIODICITY, Fundamental.JSON_PROPERTY_FISCAL_PERIOD, Fundamental.JSON_PROPERTY_FISCAL_YEAR, Fundamental.JSON_PROPERTY_FISCAL_PERIOD_LENGTH, Fundamental.JSON_PROPERTY_FISCAL_END_DATE, Fundamental.JSON_PROPERTY_REPORT_DATE, Fundamental.JSON_PROPERTY_EPS_REPORT_DATE, Fundamental.JSON_PROPERTY_UPDATE_TYPE, Fundamental.JSON_PROPERTY_CURRENCY, Fundamental.JSON_PROPERTY_VALUE }) @jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen") public class Fundamental 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_METRIC = "metric"; private JsonNullable metric = JsonNullable.undefined(); /** * Periodicity or frequency of the fiscal periods, where ANN = Annual Original, ANN_R = Annual Latest, QTR = Quarterly Original, QTR_R = Quarterly Latest, SEMI = Semi-Annual Original, SEMI_R = Semi-Annual Latest, LTM = Last Twelve Months Original, LTM_R = Last Twelve Months Latest, LTMSG = Last Twelve Months Global, [OA17959](https://my.apps.factset.com/oa/pages/17959), LTM_SEMI = Last Twelve Months - Semi-Annual Data and YTD = Year-to-date. Please note that the coverage for SEMI_R and LTM_R may be limited as fewer companies report with these periodicities. */ public enum PeriodicityEnum { ANN("ANN"), ANN_R("ANN_R"), QTR("QTR"), QTR_R("QTR_R"), SEMI("SEMI"), SEMI_R("SEMI_R"), CAL("CAL"), LTM("LTM"), LTM_R("LTM_R"), LTMSG("LTMSG"), LTM_SEMI("LTM_SEMI"), YTD("YTD"); private String value; PeriodicityEnum(String value) { this.value = value; } @JsonValue public String getValue() { return value; } @Override public String toString() { return String.valueOf(value); } @JsonCreator public static PeriodicityEnum fromValue(String value) { for (PeriodicityEnum b : PeriodicityEnum.values()) { if (b.value.equals(value)) { return b; } } return null; } } public static final String JSON_PROPERTY_PERIODICITY = "periodicity"; private JsonNullable periodicity = JsonNullable.undefined(); public static final String JSON_PROPERTY_FISCAL_PERIOD = "fiscalPeriod"; private Integer fiscalPeriod; public static final String JSON_PROPERTY_FISCAL_YEAR = "fiscalYear"; private JsonNullable fiscalYear = JsonNullable.undefined(); public static final String JSON_PROPERTY_FISCAL_PERIOD_LENGTH = "fiscalPeriodLength"; private JsonNullable fiscalPeriodLength = JsonNullable.undefined(); public static final String JSON_PROPERTY_FISCAL_END_DATE = "fiscalEndDate"; private JsonNullable fiscalEndDate = JsonNullable.undefined(); public static final String JSON_PROPERTY_REPORT_DATE = "reportDate"; private JsonNullable reportDate = JsonNullable.undefined(); public static final String JSON_PROPERTY_EPS_REPORT_DATE = "epsReportDate"; private JsonNullable epsReportDate = JsonNullable.undefined(); /** * Update Type: Preliminary - The period is updated from a report that usually contains limited or only key information., Final - The period is updated from a report where detailed information is available in financial statements including the notes to the line items. */ public enum UpdateTypeEnum { PRELIMINARY("Preliminary"), FINAL("Final"); private String value; UpdateTypeEnum(String value) { this.value = value; } @JsonValue public String getValue() { return value; } @Override public String toString() { return String.valueOf(value); } @JsonCreator public static UpdateTypeEnum fromValue(String value) { for (UpdateTypeEnum b : UpdateTypeEnum.values()) { if (b.value.equals(value)) { return b; } } return null; } } public static final String JSON_PROPERTY_UPDATE_TYPE = "updateType"; private JsonNullable updateType = JsonNullable.undefined(); public static final String JSON_PROPERTY_CURRENCY = "currency"; private JsonNullable currency = JsonNullable.undefined(); public static final String JSON_PROPERTY_VALUE = "value"; private JsonNullable value = JsonNullable.undefined(); public Fundamental() { } @JsonCreator public Fundamental( @JsonProperty(value=JSON_PROPERTY_FISCAL_PERIOD, required=true) Integer fiscalPeriod ) { this(); this.fiscalPeriod = fiscalPeriod; } public Fundamental 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 Fundamental 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 Fundamental metric(String metric) { this.metric = JsonNullable.of(metric); return this; } /** * The requested `metric` input, representing the Fundamental Data Item. For a definition of the item please use the /fundamentals/v#/metrics endpoint. * @return metric **/ @jakarta.annotation.Nullable @ApiModelProperty(example = "FF_SALES", value = "The requested `metric` input, representing the Fundamental Data Item. For a definition of the item please use the /fundamentals/v#/metrics endpoint.") @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 Fundamental periodicity(PeriodicityEnum periodicity) { this.periodicity = JsonNullable.of(periodicity); return this; } /** * Periodicity or frequency of the fiscal periods, where ANN = Annual Original, ANN_R = Annual Latest, QTR = Quarterly Original, QTR_R = Quarterly Latest, SEMI = Semi-Annual Original, SEMI_R = Semi-Annual Latest, LTM = Last Twelve Months Original, LTM_R = Last Twelve Months Latest, LTMSG = Last Twelve Months Global, [OA17959](https://my.apps.factset.com/oa/pages/17959), LTM_SEMI = Last Twelve Months - Semi-Annual Data and YTD = Year-to-date. Please note that the coverage for SEMI_R and LTM_R may be limited as fewer companies report with these periodicities. * @return periodicity **/ @jakarta.annotation.Nullable @ApiModelProperty(example = "QTR", value = "Periodicity or frequency of the fiscal periods, where ANN = Annual Original, ANN_R = Annual Latest, QTR = Quarterly Original, QTR_R = Quarterly Latest, SEMI = Semi-Annual Original, SEMI_R = Semi-Annual Latest, LTM = Last Twelve Months Original, LTM_R = Last Twelve Months Latest, LTMSG = Last Twelve Months Global, [OA17959](https://my.apps.factset.com/oa/pages/17959), LTM_SEMI = Last Twelve Months - Semi-Annual Data and YTD = Year-to-date. Please note that the coverage for SEMI_R and LTM_R may be limited as fewer companies report with these periodicities.") @JsonIgnore public PeriodicityEnum 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(PeriodicityEnum periodicity) { this.periodicity = JsonNullable.of(periodicity); } public Fundamental fiscalPeriod(Integer fiscalPeriod) { this.fiscalPeriod = fiscalPeriod; return this; } /** * Fiscal Period indicator. Returns an integer representing the fiscal period for the requested item and periodicity. QUARTERLY CODE: 1-Fist Quarter; 2-Second Quarter; 3-Third Quarter; 4-Fourth Quarter. SEMI-CODE: 1-First Semi-annual Period; 2-Second Semi-annual Period. * @return fiscalPeriod **/ @jakarta.annotation.Nullable @ApiModelProperty(example = "4", required = true, value = "Fiscal Period indicator. Returns an integer representing the fiscal period for the requested item and periodicity. QUARTERLY CODE: 1-Fist Quarter; 2-Second Quarter; 3-Third Quarter; 4-Fourth Quarter. SEMI-CODE: 1-First Semi-annual Period; 2-Second Semi-annual Period.") @JsonProperty(JSON_PROPERTY_FISCAL_PERIOD) @JsonInclude(value = JsonInclude.Include.ALWAYS) public Integer getFiscalPeriod() { return fiscalPeriod; } @JsonProperty(JSON_PROPERTY_FISCAL_PERIOD) @JsonInclude(value = JsonInclude.Include.ALWAYS) public void setFiscalPeriod(Integer fiscalPeriod) { this.fiscalPeriod = fiscalPeriod; } public Fundamental fiscalYear(Integer fiscalYear) { this.fiscalYear = JsonNullable.of(fiscalYear); return this; } /** * Fiscal year of the reported period in YYYY format. * @return fiscalYear **/ @jakarta.annotation.Nullable @ApiModelProperty(example = "2018", value = "Fiscal year of the reported period in YYYY format.") @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 Fundamental fiscalPeriodLength(Integer fiscalPeriodLength) { this.fiscalPeriodLength = JsonNullable.of(fiscalPeriodLength); return this; } /** * Length of the fiscal period in days. * @return fiscalPeriodLength **/ @jakarta.annotation.Nullable @ApiModelProperty(example = "91", value = "Length of the fiscal period in days.") @JsonIgnore public Integer getFiscalPeriodLength() { return fiscalPeriodLength.orElse(null); } @JsonProperty(JSON_PROPERTY_FISCAL_PERIOD_LENGTH) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public JsonNullable getFiscalPeriodLength_JsonNullable() { return fiscalPeriodLength; } @JsonProperty(JSON_PROPERTY_FISCAL_PERIOD_LENGTH) public void setFiscalPeriodLength_JsonNullable(JsonNullable fiscalPeriodLength) { this.fiscalPeriodLength = fiscalPeriodLength; } public void setFiscalPeriodLength(Integer fiscalPeriodLength) { this.fiscalPeriodLength = JsonNullable.of(fiscalPeriodLength); } public Fundamental fiscalEndDate(LocalDate fiscalEndDate) { this.fiscalEndDate = JsonNullable.of(fiscalEndDate); return this; } /** * The normalized data the fiscal period ended. * @return fiscalEndDate **/ @jakarta.annotation.Nullable @ApiModelProperty(example = "Sun Dec 31 00:00:00 UTC 2017", value = "The normalized data the fiscal period ended.") @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 Fundamental reportDate(LocalDate reportDate) { this.reportDate = JsonNullable.of(reportDate); return this; } /** * The date the reported fiscal period ended. * @return reportDate **/ @jakarta.annotation.Nullable @ApiModelProperty(example = "Sat Dec 30 00:00:00 UTC 2017", value = "The date the reported fiscal period ended.") @JsonIgnore public LocalDate getReportDate() { return reportDate.orElse(null); } @JsonProperty(JSON_PROPERTY_REPORT_DATE) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public JsonNullable getReportDate_JsonNullable() { return reportDate; } @JsonProperty(JSON_PROPERTY_REPORT_DATE) public void setReportDate_JsonNullable(JsonNullable reportDate) { this.reportDate = reportDate; } public void setReportDate(LocalDate reportDate) { this.reportDate = JsonNullable.of(reportDate); } public Fundamental epsReportDate(LocalDate epsReportDate) { this.epsReportDate = JsonNullable.of(epsReportDate); return this; } /** * The date the EPS was reported for the requested periodicity. In YYYY-MM-DD format. Unavailable data returned as 0001-01-01. * @return epsReportDate **/ @jakarta.annotation.Nullable @ApiModelProperty(example = "Sat Feb 24 00:00:00 UTC 2018", value = "The date the EPS was reported for the requested periodicity. In YYYY-MM-DD format. Unavailable data returned as 0001-01-01.") @JsonIgnore public LocalDate getEpsReportDate() { return epsReportDate.orElse(null); } @JsonProperty(JSON_PROPERTY_EPS_REPORT_DATE) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public JsonNullable getEpsReportDate_JsonNullable() { return epsReportDate; } @JsonProperty(JSON_PROPERTY_EPS_REPORT_DATE) public void setEpsReportDate_JsonNullable(JsonNullable epsReportDate) { this.epsReportDate = epsReportDate; } public void setEpsReportDate(LocalDate epsReportDate) { this.epsReportDate = JsonNullable.of(epsReportDate); } public Fundamental updateType(UpdateTypeEnum updateType) { this.updateType = JsonNullable.of(updateType); return this; } /** * Update Type: Preliminary - The period is updated from a report that usually contains limited or only key information., Final - The period is updated from a report where detailed information is available in financial statements including the notes to the line items. * @return updateType **/ @jakarta.annotation.Nullable @ApiModelProperty(example = "Preliminary", value = "Update Type: Preliminary - The period is updated from a report that usually contains limited or only key information., Final - The period is updated from a report where detailed information is available in financial statements including the notes to the line items.") @JsonIgnore public UpdateTypeEnum getUpdateType() { return updateType.orElse(null); } @JsonProperty(JSON_PROPERTY_UPDATE_TYPE) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public JsonNullable getUpdateType_JsonNullable() { return updateType; } @JsonProperty(JSON_PROPERTY_UPDATE_TYPE) public void setUpdateType_JsonNullable(JsonNullable updateType) { this.updateType = updateType; } public void setUpdateType(UpdateTypeEnum updateType) { this.updateType = JsonNullable.of(updateType); } public Fundamental currency(String currency) { this.currency = JsonNullable.of(currency); return this; } /** * Currency code for the data. 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 the data. 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 Fundamental value(FundamentalValue value) { this.value = JsonNullable.of(value); return this; } /** * Get value * @return value **/ @jakarta.annotation.Nullable @ApiModelProperty(value = "") @JsonIgnore public FundamentalValue getValue() { return value.orElse(null); } @JsonProperty(JSON_PROPERTY_VALUE) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) public JsonNullable getValue_JsonNullable() { return value; } @JsonProperty(JSON_PROPERTY_VALUE) public void setValue_JsonNullable(JsonNullable value) { this.value = value; } public void setValue(FundamentalValue value) { this.value = JsonNullable.of(value); } /** * Return true if this Fundamental object is equal to o. */ @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } Fundamental fundamental = (Fundamental) o; return Objects.equals(this.requestId, fundamental.requestId) && equalsNullable(this.fsymId, fundamental.fsymId) && equalsNullable(this.metric, fundamental.metric) && equalsNullable(this.periodicity, fundamental.periodicity) && Objects.equals(this.fiscalPeriod, fundamental.fiscalPeriod) && equalsNullable(this.fiscalYear, fundamental.fiscalYear) && equalsNullable(this.fiscalPeriodLength, fundamental.fiscalPeriodLength) && equalsNullable(this.fiscalEndDate, fundamental.fiscalEndDate) && equalsNullable(this.reportDate, fundamental.reportDate) && equalsNullable(this.epsReportDate, fundamental.epsReportDate) && equalsNullable(this.updateType, fundamental.updateType) && equalsNullable(this.currency, fundamental.currency) && equalsNullable(this.value, fundamental.value); } 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(metric), hashCodeNullable(periodicity), fiscalPeriod, hashCodeNullable(fiscalYear), hashCodeNullable(fiscalPeriodLength), hashCodeNullable(fiscalEndDate), hashCodeNullable(reportDate), hashCodeNullable(epsReportDate), hashCodeNullable(updateType), hashCodeNullable(currency), hashCodeNullable(value)); } 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 Fundamental {\n"); sb.append(" requestId: ").append(toIndentedString(requestId)).append("\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(" fiscalPeriod: ").append(toIndentedString(fiscalPeriod)).append("\n"); sb.append(" fiscalYear: ").append(toIndentedString(fiscalYear)).append("\n"); sb.append(" fiscalPeriodLength: ").append(toIndentedString(fiscalPeriodLength)).append("\n"); sb.append(" fiscalEndDate: ").append(toIndentedString(fiscalEndDate)).append("\n"); sb.append(" reportDate: ").append(toIndentedString(reportDate)).append("\n"); sb.append(" epsReportDate: ").append(toIndentedString(epsReportDate)).append("\n"); sb.append(" updateType: ").append(toIndentedString(updateType)).append("\n"); sb.append(" currency: ").append(toIndentedString(currency)).append("\n"); sb.append(" value: ").append(toIndentedString(value)).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 - 2025 Weber Informatics LLC | Privacy Policy