![JAR search and dependency download from the Maven repository](/logo.png)
net.objectlab.kit.datecalc.jdk.CalendarForwardHandler Maven / Gradle / Ivy
/*
* $Id: CalendarForwardHandler.java 173 2006-09-13 15:08:18Z benoitx $
*
* Copyright 2006 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package net.objectlab.kit.datecalc.jdk;
import java.util.Calendar;
import net.objectlab.kit.datecalc.common.DateCalculator;
import net.objectlab.kit.datecalc.common.HolidayHandler;
import net.objectlab.kit.datecalc.common.HolidayHandlerType;
/**
* A Jdk Calendar
implementation of the
* {@link net.objectlab.kit.datecalc.common.HolidayHandler}, for the
* Forward algorithm.
*
* @author Marcin Jekot
* @author $LastChangedBy: benoitx $
* @version $Revision: 173 $ $Date: 2006-09-13 16:08:18 +0100 (Wed, 13 Sep 2006) $
*/
public class CalendarForwardHandler implements HolidayHandler {
/**
* If the current date of the give calculator is a non-working day, it will
* be moved according to the algorithm implemented.
*
* @param calculator
* the calculator
* @return the date which may have moved.
*/
public Calendar moveCurrentDate(final DateCalculator calculator) {
return move(calculator, 1);
}
protected Calendar move(final DateCalculator calculator, final int step) {
final Calendar cal = (Calendar) calculator.getCurrentBusinessDate().clone();
while (calculator.isNonWorkingDay(cal)) {
cal.add(Calendar.DAY_OF_MONTH, step);
}
return cal;
}
/**
* Give the type name for this algorithm.
*
* @return algorithm name.
*/
public String getType() {
return HolidayHandlerType.FORWARD;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy