SummaryDetail.java
package com.tdmconsult.ete.services.yahoo.dto;
import com.fasterxml.jackson.databind.JsonNode;
import java.math.BigDecimal;
import java.util.Optional;
import lombok.Data;
import org.jspecify.annotations.Nullable;
@Data
@SuppressWarnings("checkstyle:AbbreviationAsWordInName")
public class SummaryDetail {
public Optional<BigDecimal> getPreviousClose() {
return Optional.ofNullable(previousClose)
.map(n -> n.get("raw"))
.filter(JsonNode::isNumber)
.map(JsonNode::decimalValue);
}
@Nullable
private String currency;
// "previousClose":{"raw":76.14,"fmt":"76.14"},
@Nullable
private JsonNode previousClose;
// "regularMarketPreviousClose":{"raw":76.14,"fmt":"76.14"},
@Nullable
private JsonNode regularMarketPreviousClose;
// "open":{"raw":75.4,"fmt":"75.40"},
@Nullable
private JsonNode open;
// "regularMarketOpen":{"raw":75.4,"fmt":"75.40"},
@Nullable
private JsonNode regularMarketOpen;
// "dayLow":{"raw":74.2,"fmt":"74.20"},
@Nullable
private JsonNode dayLow;
// "regularMarketDayLow":{"raw":74.2,"fmt":"74.20"},
@Nullable
private JsonNode regularMarketDayLow;
// "dayHigh":{"raw":75.86,"fmt":"75.86"},
@Nullable
private JsonNode dayHigh;
// "regularMarketDayHigh":{"raw":75.86,"fmt":"75.86"},
@Nullable
private JsonNode regularMarketDayHigh;
// "dividendRate":{"raw":5.26,"fmt":"5.26"},
@Nullable
private JsonNode dividendRate;
// "dividendYield":{"raw":0.0691,"fmt":"6.91%"},
@Nullable
private JsonNode dividendYield;
// "exDividendDate":{"raw":1781827200,"fmt":"2026-06-19"},
@Nullable
private JsonNode exDividendDate;
// "payoutRatio":{"raw":0.5043,"fmt":"50.43%"},
@Nullable
private JsonNode payoutRatio;
// "fiveYearAvgDividendYield":{"raw":6.52,"fmt":"6.52"},
@Nullable
private JsonNode fiveYearAvgDividendYield;
// "beta":{"raw":0.981,"fmt":"0.98"},
@Nullable
private JsonNode beta;
// "trailingPE":{"raw":7.158198,"fmt":"7.16"},
@Nullable
private JsonNode trailingPE;
// "forwardPE":{"raw":3.1877282,"fmt":"3.19"},
@Nullable
private JsonNode forwardPE;
// {"summaryDetail":{
// "maxAge":1,
// "priceHint":{"raw":2,"fmt":"2","longFmt":"2"},
// "previousClose":{"raw":76.14,"fmt":"76.14"},
// "open":{"raw":75.4,"fmt":"75.40"},
// "dayLow":{"raw":74.2,"fmt":"74.20"},
// "dayHigh":{"raw":75.86,"fmt":"75.86"},
// "regularMarketPreviousClose":{"raw":76.14,"fmt":"76.14"},
// "regularMarketOpen":{"raw":75.4,"fmt":"75.40"},
// "regularMarketDayLow":{"raw":74.2,"fmt":"74.20"},
// "regularMarketDayHigh":{"raw":75.86,"fmt":"75.86"},
// "dividendRate":{"raw":5.26,"fmt":"5.26"},
// "dividendYield":{"raw":0.0691,"fmt":"6.91%"},
// "exDividendDate":{"raw":1781827200,"fmt":"2026-06-19"},
// "payoutRatio":{"raw":0.5043,"fmt":"50.43%"},
// "fiveYearAvgDividendYield":{"raw":6.52,"fmt":"6.52"},
// "beta":{"raw":0.981,"fmt":"0.98"},
// "trailingPE":{"raw":7.158198,"fmt":"7.16"},
// "forwardPE":{"raw":3.1877282,"fmt":"3.19"},
// "volume":{"raw":727461,"fmt":"727.46k","longFmt":"727,461"},
// "regularMarketVolume":{"raw":727461,"fmt":"727.46k","longFmt":"727,461"},
// "averageVolume":{"raw":1032453,"fmt":"1.03M","longFmt":"1,032,453"},
// "averageVolume10days":{"raw":1007279,"fmt":"1.01M","longFmt":"1,007,279"},
// "averageDailyVolume10Day":{"raw":1007279,"fmt":"1.01M","longFmt":"1,007,279"},
// "bid":{"raw":74.82,"fmt":"74.82"},
// "ask":{"raw":74.66,"fmt":"74.66"},
// "bidSize":{"raw":207000,"fmt":"207k","longFmt":"207,000"},
// "askSize":{"raw":63200,"fmt":"63.2k","longFmt":"63,200"},
// "marketCap":{"raw":37426704384,"fmt":"37.43B","longFmt":"37,426,704,384"},
// "nonDilutedMarketCap":{"raw":38407644077,"fmt":"38.41B","longFmt":"38,407,644,077"},
// "yield":{},
// "ytdReturn":{},
// "qtdReturn":{},
// "totalAssets":{},
// "expireDate":{},
// "strikePrice":{},
// "openInterest":{},
// "fiftyTwoWeekLow":{"raw":69.2,"fmt":"69.20"},
// "fiftyTwoWeekHigh":{"raw":109.15,"fmt":"109.15"},
// "allTimeHigh":{"raw":262.45,"fmt":"262.45"},
// "allTimeLow":{"raw":20.476831,"fmt":"20.48"},
// "priceToSalesTrailing12Months":{"raw":0.11635811,"fmt":"0.12"},
// "fiftyDayAverage":{"raw":79.8948,"fmt":"79.89"},
// "twoHundredDayAverage":{"raw":91.91395,"fmt":"91.91"},
// "trailingAnnualDividendRate":{"raw":5.26,"fmt":"5.26"},
// "trailingAnnualDividendYield":{"raw":0.06908327,"fmt":"6.91%"},
// "navPrice":{},
// "currency":"EUR",
// "fromCurrency":null,
// "toCurrency":null,
// "lastMarket":null,
// "coinMarketCapLink":null,
// "volume24Hr":{},
// "volumeAllCurrencies":{},
// "circulatingSupply":{},
// "algorithm":null,
// "maxSupply":{},
// "totalSupply":{},
// "startDate":{},
// "tradeable":false,
// "fullyDilutedValue":{},
// "volume24HrMarketCapPercent":{}}
}