@Override public boolean equals(Object obj) { if (obj == this) { return true; } if (obj instanceof ImmutableHolidayCalendar) { return id.equals(((ImmutableHolidayCalendar) obj).id); } return false; }
@Override public boolean equals(Object obj) { if (obj == this) { return true; } if (obj instanceof WeekendHolidayCalendar) { return id.equals(((WeekendHolidayCalendar) obj).id); } return false; }
public void test_equalsHashCode() { HolidayCalendarId a = HolidayCalendarId.of("GB"); HolidayCalendarId a2 = HolidayCalendarId.of("GB"); HolidayCalendarId b = HolidayCalendarId.of("EU"); assertEquals(a.hashCode(), a2.hashCode()); assertEquals(a.equals(a), true); assertEquals(a.equals(a2), true); assertEquals(a.equals(b), false); assertEquals(a.equals(null), false); assertEquals(a.equals(ANOTHER_TYPE), false); }
/** * Normalizes the adjustment. * <p> * If the number of days is zero, the calendar is set no 'NoHolidays'. * If the number of days is non-zero and the calendar equals the adjustment calendar, * the adjustment is removed. * * @return the normalized adjustment */ public DaysAdjustment normalized() { if (days == 0) { if (calendar != HolidayCalendarIds.NO_HOLIDAYS) { return DaysAdjustment.ofCalendarDays(days, adjustment); } return this; } if (calendar.equals(adjustment.getCalendar())) { return DaysAdjustment.ofBusinessDays(days, calendar); } return this; }
@ImmutablePreBuild private static void preBuild(Builder builder) { if (builder.fixingDateOffset == null && builder.fixingCalendar != null && builder.maturityDateOffset != null) { int days = builder.maturityDateOffset.getDays(); HolidayCalendarId maturityCal = builder.maturityDateOffset.getCalendar(); if (maturityCal.combinedWith(builder.fixingCalendar).equals(maturityCal)) { builder.fixingDateOffset = DaysAdjustment.ofBusinessDays(-days, maturityCal); } else { builder.fixingDateOffset = DaysAdjustment.ofBusinessDays( -days, maturityCal, BusinessDayAdjustment.of(BusinessDayConventions.PRECEDING, builder.fixingCalendar)); } } }
public void test_combinedWith() { HolidayCalendarId gb = HolidayCalendarId.of("GB"); HolidayCalendarId eu = HolidayCalendarId.of("EU"); HolidayCalendarId us = HolidayCalendarId.of("US"); HolidayCalendarId combined1 = eu.combinedWith(us).combinedWith(gb); HolidayCalendarId combined2 = us.combinedWith(eu).combinedWith(gb.combinedWith(us)); assertEquals(combined1.getName(), "EU+GB+US"); assertEquals(combined1.toString(), "EU+GB+US"); assertEquals(combined2.getName(), "EU+GB+US"); assertEquals(combined2.toString(), "EU+GB+US"); assertEquals(combined1.equals(combined2), true); }