private static Optional<DaysAdjustment> parseDaysAdjustment( CsvRow row, String leg, String daysField, String daysCalField, String cnvField, String calField) { Optional<Integer> daysOpt = findValue(row, leg, daysField) .map(s -> Integer.valueOf(s)); HolidayCalendarId cal = findValue(row, leg, daysCalField) .map(s -> HolidayCalendarId.of(s)) .orElse(HolidayCalendarIds.NO_HOLIDAYS); BusinessDayAdjustment bda = parseBusinessDayAdjustment(row, leg, cnvField, calField) .orElse(BusinessDayAdjustment.NONE); if (!daysOpt.isPresent()) { return Optional.empty(); } return Optional.of(DaysAdjustment.builder() .days(daysOpt.get()) .calendar(cal) .adjustment(bda) .build()); }
private static IborIndex lockIndexCalendar(IborIndex index) { return ((ImmutableIborIndex) index).toBuilder() .fixingCalendar(CalendarUSD.NYC) .effectiveDateOffset(index.getEffectiveDateOffset().toBuilder() .calendar(CalendarUSD.NYC) .adjustment(index.getEffectiveDateOffset().getAdjustment().toBuilder() .calendar(CalendarUSD.NYC) .build()) .build()) .maturityDateOffset(index.getMaturityDateOffset().toBuilder() .adjustment(index.getMaturityDateOffset().getAdjustment().toBuilder() .calendar(CalendarUSD.NYC) .build()) .build()) .build(); }
@Override public DaysAdjustment toIborIndexFixingOffset() { DaysAdjustment base = FloatingRateName.super.toIborIndexFixingOffset(); if (fixingDateOffsetDays == null) { return base; } if (fixingDateOffsetDays == 0) { return DaysAdjustment.ofCalendarDays(0, BusinessDayAdjustment.of(PRECEDING, base.getResultCalendar())); } return base.toBuilder().days(fixingDateOffsetDays).build().normalized(); }
@Override public DaysAdjustment.Builder builder() { return new DaysAdjustment.Builder(); }
/** * Returns a builder used to create an instance of the bean. * @return the builder, not null */ public static DaysAdjustment.Builder builder() { return new DaysAdjustment.Builder(); }
public void coverage_builder() { DaysAdjustment test = DaysAdjustment.builder() .days(1) .calendar(SAT_SUN) .adjustment(BDA_FOLLOW_WED_THU) .build(); assertEquals(test.getDays(), 1); assertEquals(test.getCalendar(), SAT_SUN); assertEquals(test.getAdjustment(), BDA_FOLLOW_WED_THU); }
/** * Returns a builder that allows this bean to be mutated. * @return the mutable builder, not null */ public Builder toBuilder() { return new Builder(this); }