/**
* Copyright (C) 2011 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.core.holiday.impl;
import java.util.Collection;
import org.threeten.bp.DayOfWeek;
import org.threeten.bp.LocalDate;
import com.google.common.collect.ImmutableSet;
import com.opengamma.core.AbstractSource;
import com.opengamma.core.holiday.Holiday;
import com.opengamma.core.holiday.HolidaySource;
import com.opengamma.core.holiday.HolidayType;
import com.opengamma.id.ExternalId;
import com.opengamma.id.ExternalIdBundle;
import com.opengamma.id.ObjectId;
import com.opengamma.id.UniqueId;
import com.opengamma.id.VersionCorrection;
import com.opengamma.util.money.Currency;
/**
* Simple implementation of {@code HolidaySource} where the only holidays are weekends.
* <p>
* This is designed for testing.
*/
public class WeekendHolidaySource extends AbstractSource<Holiday> implements HolidaySource {
@Override
public Holiday get(final UniqueId uniqueId) {
throw new UnsupportedOperationException();
}
@Override
public Holiday get(final ObjectId objectId, final VersionCorrection versionCorrection) {
throw new UnsupportedOperationException();
}
@Override
public Collection<Holiday> get(HolidayType holidayType,
ExternalIdBundle regionOrExchangeIds) {
return ImmutableSet.of();
}
@Override
public Collection<Holiday> get(Currency currency) {
return ImmutableSet.of();
}
@Override
public boolean isHoliday(final LocalDate dateToCheck, final Currency currency) {
return isWeekend(dateToCheck);
}
@Override
public boolean isHoliday(final LocalDate dateToCheck, final HolidayType holidayType,
final ExternalIdBundle regionOrExchangeIds) {
return isWeekend(dateToCheck);
}
@Override
public boolean isHoliday(final LocalDate dateToCheck, final HolidayType holidayType,
final ExternalId regionOrExchangeId) {
return isWeekend(dateToCheck);
}
private boolean isWeekend(final LocalDate dateToCheck) {
return dateToCheck.getDayOfWeek() == DayOfWeek.SATURDAY || dateToCheck.getDayOfWeek() == DayOfWeek.SUNDAY;
}
}