com.factset.sdk.FactSetFunds.models.AumRequest Maven / Gradle / Ivy
Show all versions of factsetfunds Show documentation
/*
* FactSet Funds API
* FactSet Mutual Funds data offers over 50 fund- and share class-specific data points for mutual funds listed in the United States. FactSet Mutual Funds Reference provides fund-specific reference information as well as FactSet's proprietary classification system. It includes but is not limited to the following coverage * Fund descriptions * A seven-tier classification system * Leverage information * Fees and expenses * Portfolio managers FactSet Mutual Funds Time Series provides quantitative data items on a historical basis. It includes but is not limited to the following coverage * Net asset value * Fund flows * Assets under management * Total return
*
* The version of the OpenAPI document: 1.0.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.FactSetFunds.models;
import java.util.Objects;
import java.util.Arrays;
import java.util.Map;
import java.util.HashMap;
import com.factset.sdk.FactSetFunds.models.DataType;
import com.factset.sdk.FactSetFunds.models.FrequencyAum;
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.FactSetFunds.JSON;
/**
* AUM Request Body
*/
@ApiModel(description = "AUM Request Body")
@JsonPropertyOrder({
AumRequest.JSON_PROPERTY_IDS,
AumRequest.JSON_PROPERTY_START_DATE,
AumRequest.JSON_PROPERTY_END_DATE,
AumRequest.JSON_PROPERTY_FREQUENCY,
AumRequest.JSON_PROPERTY_CURRENCY,
AumRequest.JSON_PROPERTY_DATA_TYPE
})
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class AumRequest implements Serializable {
private static final long serialVersionUID = 1L;
public static final String JSON_PROPERTY_IDS = "ids";
private java.util.List ids = new java.util.ArrayList<>();
public static final String JSON_PROPERTY_START_DATE = "startDate";
private String startDate;
public static final String JSON_PROPERTY_END_DATE = "endDate";
private String endDate;
public static final String JSON_PROPERTY_FREQUENCY = "frequency";
private FrequencyAum frequency = FrequencyAum.M;
public static final String JSON_PROPERTY_CURRENCY = "currency";
private String currency = "LOCAL";
public static final String JSON_PROPERTY_DATA_TYPE = "dataType";
private DataType dataType = DataType.RAW;
public AumRequest() {
}
@JsonCreator
public AumRequest(
@JsonProperty(value=JSON_PROPERTY_IDS, required=true) java.util.List ids
) {
this();
this.ids = ids;
}
public AumRequest ids(java.util.List ids) {
this.ids = ids;
return this;
}
public AumRequest addIdsItem(String idsItem) {
this.ids.add(idsItem);
return this;
}
/**
* The requested Fund Identifier. FactSet Identifiers, tickers, CUSIP and SEDOL are accepted input. <p>***ids limit** = 1000 per request*</p> *<p>Make note, GET Method URL request lines are also limited to a total length of 8192 bytes (8KB). In cases where the service allows for thousands of ids, which may lead to exceeding this request line limit of 8KB, its advised for any requests with large request lines to be requested through the respective \"POST\" method.</p>*
* @return ids
**/
@javax.annotation.Nonnull
@ApiModelProperty(example = "[\"MABAX\",\"FCNTX\"]", required = true, value = "The requested Fund Identifier. FactSet Identifiers, tickers, CUSIP and SEDOL are accepted input. ***ids limit** = 1000 per request*
*Make note, GET Method URL request lines are also limited to a total length of 8192 bytes (8KB). In cases where the service allows for thousands of ids, which may lead to exceeding this request line limit of 8KB, its advised for any requests with large request lines to be requested through the respective \"POST\" method.
* ")
@JsonProperty(JSON_PROPERTY_IDS)
@JsonInclude(value = JsonInclude.Include.ALWAYS)
public java.util.List getIds() {
return ids;
}
@JsonProperty(JSON_PROPERTY_IDS)
@JsonInclude(value = JsonInclude.Include.ALWAYS)
public void setIds(java.util.List ids) {
this.ids = ids;
}
public AumRequest startDate(String startDate) {
this.startDate = startDate;
return this;
}
/**
* The start date requested for a given date range in **YYYY-MM-DD** format. If left blank, the API will default to previous close. Future dates (T+1) are not accepted in this #endpoint.
* @return startDate
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "2019-01-01", value = "The start date requested for a given date range in **YYYY-MM-DD** format. If left blank, the API will default to previous close. Future dates (T+1) are not accepted in this #endpoint. ")
@JsonProperty(JSON_PROPERTY_START_DATE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getStartDate() {
return startDate;
}
@JsonProperty(JSON_PROPERTY_START_DATE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setStartDate(String startDate) {
this.startDate = startDate;
}
public AumRequest endDate(String endDate) {
this.endDate = endDate;
return this;
}
/**
* The end date requested for a given date range in **YYYY-MM-DD** format. If left blank, the API will default to previous close. Future dates (T+1) are not accepted in this endpoint.
* @return endDate
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "2019-12-31", value = "The end date requested for a given date range in **YYYY-MM-DD** format. If left blank, the API will default to previous close. Future dates (T+1) are not accepted in this endpoint. ")
@JsonProperty(JSON_PROPERTY_END_DATE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getEndDate() {
return endDate;
}
@JsonProperty(JSON_PROPERTY_END_DATE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setEndDate(String endDate) {
this.endDate = endDate;
}
public AumRequest frequency(FrequencyAum frequency) {
this.frequency = frequency;
return this;
}
/**
* Get frequency
* @return frequency
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "")
@JsonProperty(JSON_PROPERTY_FREQUENCY)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public FrequencyAum getFrequency() {
return frequency;
}
@JsonProperty(JSON_PROPERTY_FREQUENCY)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setFrequency(FrequencyAum frequency) {
this.frequency = frequency;
}
public AumRequest currency(String currency) {
this.currency = currency;
return this;
}
/**
* The ISO3 currency control for the requested fund.
* @return currency
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "USD", value = "The ISO3 currency control for the requested fund.")
@JsonProperty(JSON_PROPERTY_CURRENCY)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public String getCurrency() {
return currency;
}
@JsonProperty(JSON_PROPERTY_CURRENCY)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setCurrency(String currency) {
this.currency = currency;
}
public AumRequest dataType(DataType dataType) {
this.dataType = dataType;
return this;
}
/**
* Get dataType
* @return dataType
**/
@javax.annotation.Nullable
@ApiModelProperty(value = "")
@JsonProperty(JSON_PROPERTY_DATA_TYPE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public DataType getDataType() {
return dataType;
}
@JsonProperty(JSON_PROPERTY_DATA_TYPE)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public void setDataType(DataType dataType) {
this.dataType = dataType;
}
/**
* Return true if this aumRequest object is equal to o.
*/
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
AumRequest aumRequest = (AumRequest) o;
return Objects.equals(this.ids, aumRequest.ids) &&
Objects.equals(this.startDate, aumRequest.startDate) &&
Objects.equals(this.endDate, aumRequest.endDate) &&
Objects.equals(this.frequency, aumRequest.frequency) &&
Objects.equals(this.currency, aumRequest.currency) &&
Objects.equals(this.dataType, aumRequest.dataType);
}
@Override
public int hashCode() {
return Objects.hash(ids, startDate, endDate, frequency, currency, dataType);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class AumRequest {\n");
sb.append(" ids: ").append(toIndentedString(ids)).append("\n");
sb.append(" startDate: ").append(toIndentedString(startDate)).append("\n");
sb.append(" endDate: ").append(toIndentedString(endDate)).append("\n");
sb.append(" frequency: ").append(toIndentedString(frequency)).append("\n");
sb.append(" currency: ").append(toIndentedString(currency)).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 ");
}
}