com.factset.sdk.FactSetEstimates.models.DetailRatings 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;
/**
* DetailRatings
*/
@JsonPropertyOrder({
DetailRatings.JSON_PROPERTY_FSYM_ID,
DetailRatings.JSON_PROPERTY_ESTIMATE_DATE,
DetailRatings.JSON_PROPERTY_ANALYST_ID,
DetailRatings.JSON_PROPERTY_ANALYST_NAME,
DetailRatings.JSON_PROPERTY_BROKER_ID,
DetailRatings.JSON_PROPERTY_BROKER_NAME,
DetailRatings.JSON_PROPERTY_RATINGS_NOTE_TEXT,
DetailRatings.JSON_PROPERTY_REQUEST_ID,
DetailRatings.JSON_PROPERTY_INPUT_DATE_TIME,
DetailRatings.JSON_PROPERTY_LAST_MODIFIED_DATE
})
@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class DetailRatings 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_ESTIMATE_DATE = "estimateDate";
private JsonNullable estimateDate = 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_RATINGS_NOTE_TEXT = "ratingsNoteText";
private JsonNullable ratingsNoteText = 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_LAST_MODIFIED_DATE = "lastModifiedDate";
private JsonNullable lastModifiedDate = JsonNullable.undefined();
public DetailRatings() {
}
public DetailRatings 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 DetailRatings 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 DetailRatings 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 DetailRatings 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 DetailRatings 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 DetailRatings 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 DetailRatings ratingsNoteText(String ratingsNoteText) {
this.ratingsNoteText = JsonNullable.of(ratingsNoteText);
return this;
}
/**
* A textual representation of the analysts rating. Broker recommendations are divided into five main broad categories- **Buy, Overweight, Hold, Underweight, and Sell**.<p>Additional recommendations may be displayed for the below reasons - * Without- A rating \"Without\" is displayed when a broker provides estimates but does not provide a rating. * Dropping- When a broker stops covering an equity, the recommendation will show \"Dropping.\" * Not Available- A broker may be \"Not Available\" due to outstanding circumstances with that particular security. Ratings are not displayed until a new rating is provided. * Most/Least- \"Most\" or \"Least\" favorable rating is displayed for top or bottom rating available for a particular security.
* @return ratingsNoteText
**/
@jakarta.annotation.Nullable
@ApiModelProperty(example = "overweight", value = "A textual representation of the analysts rating. Broker recommendations are divided into five main broad categories- **Buy, Overweight, Hold, Underweight, and Sell**.Additional recommendations may be displayed for the below reasons - * Without- A rating \"Without\" is displayed when a broker provides estimates but does not provide a rating. * Dropping- When a broker stops covering an equity, the recommendation will show \"Dropping.\" * Not Available- A broker may be \"Not Available\" due to outstanding circumstances with that particular security. Ratings are not displayed until a new rating is provided. * Most/Least- \"Most\" or \"Least\" favorable rating is displayed for top or bottom rating available for a particular security. ")
@JsonIgnore
public String getRatingsNoteText() {
return ratingsNoteText.orElse(null);
}
@JsonProperty(JSON_PROPERTY_RATINGS_NOTE_TEXT)
@JsonInclude(value = JsonInclude.Include.USE_DEFAULTS)
public JsonNullable getRatingsNoteText_JsonNullable() {
return ratingsNoteText;
}
@JsonProperty(JSON_PROPERTY_RATINGS_NOTE_TEXT)
public void setRatingsNoteText_JsonNullable(JsonNullable ratingsNoteText) {
this.ratingsNoteText = ratingsNoteText;
}
public void setRatingsNoteText(String ratingsNoteText) {
this.ratingsNoteText = JsonNullable.of(ratingsNoteText);
}
public DetailRatings 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 DetailRatings 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 DetailRatings 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);
}
/**
* Return true if this detailRatings object is equal to o.
*/
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
DetailRatings detailRatings = (DetailRatings) o;
return equalsNullable(this.fsymId, detailRatings.fsymId) &&
equalsNullable(this.estimateDate, detailRatings.estimateDate) &&
equalsNullable(this.analystId, detailRatings.analystId) &&
equalsNullable(this.analystName, detailRatings.analystName) &&
equalsNullable(this.brokerId, detailRatings.brokerId) &&
equalsNullable(this.brokerName, detailRatings.brokerName) &&
equalsNullable(this.ratingsNoteText, detailRatings.ratingsNoteText) &&
Objects.equals(this.requestId, detailRatings.requestId) &&
equalsNullable(this.inputDateTime, detailRatings.inputDateTime) &&
equalsNullable(this.lastModifiedDate, detailRatings.lastModifiedDate);
}
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(estimateDate), hashCodeNullable(analystId), hashCodeNullable(analystName), hashCodeNullable(brokerId), hashCodeNullable(brokerName), hashCodeNullable(ratingsNoteText), requestId, hashCodeNullable(inputDateTime), hashCodeNullable(lastModifiedDate));
}
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 DetailRatings {\n");
sb.append(" fsymId: ").append(toIndentedString(fsymId)).append("\n");
sb.append(" estimateDate: ").append(toIndentedString(estimateDate)).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(" ratingsNoteText: ").append(toIndentedString(ratingsNoteText)).append("\n");
sb.append(" requestId: ").append(toIndentedString(requestId)).append("\n");
sb.append(" inputDateTime: ").append(toIndentedString(inputDateTime)).append("\n");
sb.append(" lastModifiedDate: ").append(toIndentedString(lastModifiedDate)).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 ");
}
}