/**
* Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.financial.convention.rolldate;
import org.threeten.bp.temporal.Temporal;
import org.threeten.bp.temporal.TemporalAdjuster;
/**
* A general implementation of RollDateAdjuster
*/
public class GeneralRollDateAdjuster implements RollDateAdjuster {
private final int _numMonthsToAdjust;
private final TemporalAdjuster _adjuster;
GeneralRollDateAdjuster(final int monthsToAdjust, final TemporalAdjuster adjuster) {
_numMonthsToAdjust = monthsToAdjust;
_adjuster = adjuster;
}
@Override
public long getMonthsToAdjust() {
return _numMonthsToAdjust;
}
@Override
public Temporal adjustInto(final Temporal temporal) {
return temporal.with(_adjuster);
}
@Override
public String getName() {
return "General";
}
}