QuoteSummaryResponse.java
package com.tdmconsult.ete.services.yahoo.dto;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.function.Predicate;
import lombok.Data;
import org.jspecify.annotations.Nullable;
@Data
public class QuoteSummaryResponse {
@Nullable
private QuoteSummary quoteSummary;
public Optional<SummaryDetail> getSummaryDetail() {
return Optional.ofNullable(quoteSummary)
.map(QuoteSummary::getResult)
.filter(Predicate.not(List::isEmpty))
.map(List::getFirst)
.map(Result::getSummaryDetail);
}
public Optional<CalendarEvents> getCalendarEvents() {
return Optional.ofNullable(quoteSummary)
.map(QuoteSummary::getResult)
.filter(Predicate.not(List::isEmpty))
.map(List::getFirst)
.map(Result::getCalendarEvents);
}
@Data
public static class QuoteSummary {
private List<Result> result = new ArrayList<>();
}
@Data
public static class Result {
@Nullable
private CalendarEvents calendarEvents;
@Nullable
private SummaryDetail summaryDetail;
}
}