
com.factset.sdk.FactSetFundamentals.models.Metric Maven / Gradle / Ivy
/*
* 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.
*
* The version of the OpenAPI document: 1.0.2
* 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.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.io.Serializable;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.factset.sdk.FactSetFundamentals.JSON;
/**
* Metric
*/
@JsonPropertyOrder({
Metric.JSON_PROPERTY_METRIC,
Metric.JSON_PROPERTY_NAME,
Metric.JSON_PROPERTY_CATEGORY,
Metric.JSON_PROPERTY_SUBCATEGORY,
Metric.JSON_PROPERTY_OA_PAGE_ID,
Metric.JSON_PROPERTY_OAURL,
Metric.JSON_PROPERTY_FACTOR,
Metric.JSON_PROPERTY_SDF_PACKAGE,
Metric.JSON_PROPERTY_DATA_TYPE
})
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class Metric implements Serializable {
private static final long serialVersionUID = 1L;
public static final String JSON_PROPERTY_METRIC = "metric";
private String metric;
public static final String JSON_PROPERTY_NAME = "name";
private String name;
public static final String JSON_PROPERTY_CATEGORY = "category";
private String category;
public static final String JSON_PROPERTY_SUBCATEGORY = "subcategory";
private String subcategory;
public static final String JSON_PROPERTY_OA_PAGE_ID = "OAPageId";
private String oaPageId;
public static final String JSON_PROPERTY_OAURL = "OAurl";
private String oaurl;
public static final String JSON_PROPERTY_FACTOR = "factor";
private Integer factor;
/**
* An indicator for which Standard Data Feed (SDF) package the item is available in - BASIC or ADVANCED. A null value represents items available only in API.
*/
public enum SdfPackageEnum {
BASIC("BASIC"),
ADVANCED("ADVANCED");
private String value;
SdfPackageEnum(String value) {
this.value = value;
}
@JsonValue
public String getValue() {
return value;
}
@Override
public String toString() {
return String.valueOf(value);
}
@JsonCreator
public static SdfPackageEnum fromValue(String value) {
for (SdfPackageEnum b : SdfPackageEnum.values()) {
if (b.value.equals(value)) {
return b;
}
}
throw new IllegalArgumentException("Unexpected value '" + value + "'");
}
}
public static final String JSON_PROPERTY_SDF_PACKAGE = "sdfPackage";
private SdfPackageEnum sdfPackage;
public static final String JSON_PROPERTY_DATA_TYPE = "dataType";
private String dataType;
public Metric metric(String metric) {
this.metric = metric;
return this;
}
/**
* Metric identifier to be used as `metrics` input in `/fundamentals/v#/fundamentals` endpoint.
* @return metric
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "FF_ASSETS", value = "Metric identifier to be used as `metrics` input in `/fundamentals/v#/fundamentals` endpoint.")
@JsonProperty(JSON_PROPERTY_METRIC)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getMetric() {
return metric;
}
@JsonProperty(JSON_PROPERTY_METRIC)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setMetric(String metric) {
this.metric = metric;
}
public Metric name(String name) {
this.name = name;
return this;
}
/**
* Plain text name of the metric.
* @return name
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "Total Assets", value = "Plain text name of the metric.")
@JsonProperty(JSON_PROPERTY_NAME)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getName() {
return name;
}
@JsonProperty(JSON_PROPERTY_NAME)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setName(String name) {
this.name = name;
}
public Metric category(String category) {
this.category = category;
return this;
}
/**
* Primary Category of metric item, such as, INCOME_STATEMENT, BALANCE_SHEET, CASH_FLOW, or RATIOS.
* @return category
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "BALANCE_SHEET", value = "Primary Category of metric item, such as, INCOME_STATEMENT, BALANCE_SHEET, CASH_FLOW, or RATIOS.")
@JsonProperty(JSON_PROPERTY_CATEGORY)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getCategory() {
return category;
}
@JsonProperty(JSON_PROPERTY_CATEGORY)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setCategory(String category) {
this.category = category;
}
public Metric subcategory(String subcategory) {
this.subcategory = subcategory;
return this;
}
/**
* Sub-category of metric item, such as ASSETS, SUPPLEMENTAL, SHAREHOLDERS_EQUITY, VALUATION, PROFITABILITY, etc.
* @return subcategory
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "ASSETS", value = "Sub-category of metric item, such as ASSETS, SUPPLEMENTAL, SHAREHOLDERS_EQUITY, VALUATION, PROFITABILITY, etc.")
@JsonProperty(JSON_PROPERTY_SUBCATEGORY)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getSubcategory() {
return subcategory;
}
@JsonProperty(JSON_PROPERTY_SUBCATEGORY)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setSubcategory(String subcategory) {
this.subcategory = subcategory;
}
public Metric oaPageId(String oaPageId) {
this.oaPageId = oaPageId;
return this;
}
/**
* The Online Assistant Page ID in D***** format, used to lookup the definition and methodology of the requested item. Visit my.apps.factset.com/oa/pages/[D*****] for details. For example, https://my.apps.factset.com/oa/pages/D10585 will give you the definition for FF_SALES.
* @return oaPageId
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "D10585", value = "The Online Assistant Page ID in D***** format, used to lookup the definition and methodology of the requested item. Visit my.apps.factset.com/oa/pages/[D*****] for details. For example, https://my.apps.factset.com/oa/pages/D10585 will give you the definition for FF_SALES.")
@JsonProperty(JSON_PROPERTY_OA_PAGE_ID)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getOaPageId() {
return oaPageId;
}
@JsonProperty(JSON_PROPERTY_OA_PAGE_ID)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setOaPageId(String oaPageId) {
this.oaPageId = oaPageId;
}
public Metric oaurl(String oaurl) {
this.oaurl = oaurl;
return this;
}
/**
* The Online Assistant Page URL, used to lookup the definition and methodology of the requested item. For example, https://my.apps.factset.com/oa/pages/D10585 will give you the definition for FF_SALES.
* @return oaurl
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "https://my.apps.factset.com/oa/pages/D10585", value = "The Online Assistant Page URL, used to lookup the definition and methodology of the requested item. For example, https://my.apps.factset.com/oa/pages/D10585 will give you the definition for FF_SALES.")
@JsonProperty(JSON_PROPERTY_OAURL)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getOaurl() {
return oaurl;
}
@JsonProperty(JSON_PROPERTY_OAURL)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setOaurl(String oaurl) {
this.oaurl = oaurl;
}
public Metric factor(Integer factor) {
this.factor = factor;
return this;
}
/**
* The factor for the metric (e.g. 1000 = thousands).
* @return factor
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "1000000", value = "The factor for the metric (e.g. 1000 = thousands).")
@JsonProperty(JSON_PROPERTY_FACTOR)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public Integer getFactor() {
return factor;
}
@JsonProperty(JSON_PROPERTY_FACTOR)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setFactor(Integer factor) {
this.factor = factor;
}
public Metric sdfPackage(SdfPackageEnum sdfPackage) {
this.sdfPackage = sdfPackage;
return this;
}
/**
* An indicator for which Standard Data Feed (SDF) package the item is available in - BASIC or ADVANCED. A null value represents items available only in API.
* @return sdfPackage
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "BASIC", value = "An indicator for which Standard Data Feed (SDF) package the item is available in - BASIC or ADVANCED. A null value represents items available only in API.")
@JsonProperty(JSON_PROPERTY_SDF_PACKAGE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public SdfPackageEnum getSdfPackage() {
return sdfPackage;
}
@JsonProperty(JSON_PROPERTY_SDF_PACKAGE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setSdfPackage(SdfPackageEnum sdfPackage) {
this.sdfPackage = sdfPackage;
}
public Metric dataType(String dataType) {
this.dataType = dataType;
return this;
}
/**
* The data type for the metric. Make note, mixing data types within a single /fundamentals API is not supported. Each dataType is defined below - * **date** - date format expressed in YYYY-MM-DD. * **doubleArray** - A double is a FactSet data type, similar to a float or an integer. A double represents numeric data but provides for a greater amount of decimal precision than the float data type. Double values have up to 15 digits of precision, while float values have up to 7 digits (integers have up to 10 digits). * **float** - A float value is a real number (i.e., a number that can contain a fractional part/decimals). A float value has a precision up to seven digits and accurately represents numbers whose absolute value is less than 16,277,216 (224). An example metric includes * **floatArray** - unction will hold data for multiple time-periods, as well as for many companies (i.e., two-dimensional value). The FLOATARRAY function returns data using a vertical orientation (e.g., down a column). The difference between FLOAT and FLOATARRAY is that FLOAT can only go across a row (one-dimension; horizontal orientation; vertical length=1) whereas FLOATARRAY will return data both across a row and down a column (two-dimensions; vertical orientation). With FLOATARRAY, the number of data points across a row will correspond to the number of companies queried; the number of data points down a column will correspond to the length of the time-series. * **intArray** - An integer is a whole number or zero (i.e., integers do not include decimals). Integers can be positive or negative. * **string** - A string value is an ASCII character. A string is a sequence of ASCII characters. String value and text value are synonymous. Function will hold data for multiple time-periods, as well as for many companies (i.e., two-dimensional value). The STRING_ARRAY function returns data using a vertical orientation (e.g., down a column) * **stringArray** - The difference between STRING and STRINGARRAY is that STRING can only go across a row (one-dimension; horizontal orientation; vertical length=1) whereas STRINGARRAY will return data both across a row and down a column (two-dimensions; vertical orientation). With STRINGARRAY, the number of data points across a row will correspond to the number of companies queried; the number of data points down a column will correspond to the length of the time-series.
* @return dataType
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "doubleArray", value = "The data type for the metric. Make note, mixing data types within a single /fundamentals API is not supported. Each dataType is defined below - * **date** - date format expressed in YYYY-MM-DD. * **doubleArray** - A double is a FactSet data type, similar to a float or an integer. A double represents numeric data but provides for a greater amount of decimal precision than the float data type. Double values have up to 15 digits of precision, while float values have up to 7 digits (integers have up to 10 digits). * **float** - A float value is a real number (i.e., a number that can contain a fractional part/decimals). A float value has a precision up to seven digits and accurately represents numbers whose absolute value is less than 16,277,216 (224). An example metric includes * **floatArray** - unction will hold data for multiple time-periods, as well as for many companies (i.e., two-dimensional value). The FLOATARRAY function returns data using a vertical orientation (e.g., down a column). The difference between FLOAT and FLOATARRAY is that FLOAT can only go across a row (one-dimension; horizontal orientation; vertical length=1) whereas FLOATARRAY will return data both across a row and down a column (two-dimensions; vertical orientation). With FLOATARRAY, the number of data points across a row will correspond to the number of companies queried; the number of data points down a column will correspond to the length of the time-series. * **intArray** - An integer is a whole number or zero (i.e., integers do not include decimals). Integers can be positive or negative. * **string** - A string value is an ASCII character. A string is a sequence of ASCII characters. String value and text value are synonymous. Function will hold data for multiple time-periods, as well as for many companies (i.e., two-dimensional value). The STRING_ARRAY function returns data using a vertical orientation (e.g., down a column) * **stringArray** - The difference between STRING and STRINGARRAY is that STRING can only go across a row (one-dimension; horizontal orientation; vertical length=1) whereas STRINGARRAY will return data both across a row and down a column (two-dimensions; vertical orientation). With STRINGARRAY, the number of data points across a row will correspond to the number of companies queried; the number of data points down a column will correspond to the length of the time-series. ")
@JsonProperty(JSON_PROPERTY_DATA_TYPE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getDataType() {
return dataType;
}
@JsonProperty(JSON_PROPERTY_DATA_TYPE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setDataType(String dataType) {
this.dataType = dataType;
}
/**
* Return true if this metric object is equal to o.
*/
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
Metric metric = (Metric) o;
return Objects.equals(this.metric, metric.metric) &&
Objects.equals(this.name, metric.name) &&
Objects.equals(this.category, metric.category) &&
Objects.equals(this.subcategory, metric.subcategory) &&
Objects.equals(this.oaPageId, metric.oaPageId) &&
Objects.equals(this.oaurl, metric.oaurl) &&
Objects.equals(this.factor, metric.factor) &&
Objects.equals(this.sdfPackage, metric.sdfPackage) &&
Objects.equals(this.dataType, metric.dataType);
}
@Override
public int hashCode() {
return Objects.hash(metric, name, category, subcategory, oaPageId, oaurl, factor, sdfPackage, dataType);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class Metric {\n");
sb.append(" metric: ").append(toIndentedString(metric)).append("\n");
sb.append(" name: ").append(toIndentedString(name)).append("\n");
sb.append(" category: ").append(toIndentedString(category)).append("\n");
sb.append(" subcategory: ").append(toIndentedString(subcategory)).append("\n");
sb.append(" oaPageId: ").append(toIndentedString(oaPageId)).append("\n");
sb.append(" oaurl: ").append(toIndentedString(oaurl)).append("\n");
sb.append(" factor: ").append(toIndentedString(factor)).append("\n");
sb.append(" sdfPackage: ").append(toIndentedString(sdfPackage)).append("\n");
sb.append(" dataType: ").append(toIndentedString(dataType)).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