|
From: <be...@us...> - 2006-09-11 14:58:04
|
Revision: 160
http://svn.sourceforge.net/objectlabkit/?rev=160&view=rev
Author: benoitx
Date: 2006-09-11 07:57:27 -0700 (Mon, 11 Sep 2006)
Log Message:
-----------
More JavaDoc.
Modified Paths:
--------------
trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/AbstractDateCalculator.java
trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/DateCalculator.java
trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/HolidayHandler.java
trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/KitCalculatorsFactory.java
trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/PeriodCountCalculator.java
trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractDateTestCase.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarBackwardHandler.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarForwardHandler.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarModifiedFollowingHandler.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarModifiedPreceedingHandler.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateBackwardHandler.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateForwardHandler.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateModifiedFollowingHandler.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateModifiedPreceedingHandler.java
trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/HolidayHandlerDateWrapper.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/HolidayHandlerYearMonthDayWrapper.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDateBackwardHandler.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDateForwardHandler.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDateModifiedFollowingHandler.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDateModifiedPreceedingHandler.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDatePeriodCountCalculator.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayBackwardHandler.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayForwardHandler.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayModifiedFollowingHandler.java
trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayModifiedPreceedingHandler.java
Modified: trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/AbstractDateCalculator.java
===================================================================
--- trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/AbstractDateCalculator.java 2006-09-11 12:32:00 UTC (rev 159)
+++ trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/AbstractDateCalculator.java 2006-09-11 14:57:27 UTC (rev 160)
@@ -103,13 +103,13 @@
* handler and not count towards the number of days to move.
*
* @param businessDays
- * @param daysToSpot
+ * @param spotLag
* number of days to "spot" days, this can vary from one market
* to the other.
* @return the current businessCalendar (so one can do
* calendar.moveByTenor(StandardTenor.T_2M).getCurrentBusinessDate();)
*/
- public DateCalculator<E> moveByTenor(final Tenor tenor, final int daysToSpot) {
+ public DateCalculator<E> moveByTenor(final Tenor tenor, final int spotLag) {
if (tenor == null) {
throw new IllegalArgumentException("Tenor cannot be null");
}
@@ -117,7 +117,7 @@
TenorCode tenorCode = tenor.getCode();
if (tenorCode != TenorCode.OVERNIGHT) {
// get to the Spot date first:
- moveByDays(daysToSpot);
+ moveByDays(spotLag);
}
int unit = tenor.getUnits();
if (tenorCode == TenorCode.WEEK) {
Modified: trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/DateCalculator.java
===================================================================
--- trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/DateCalculator.java 2006-09-11 12:32:00 UTC (rev 159)
+++ trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/DateCalculator.java 2006-09-11 14:57:27 UTC (rev 160)
@@ -196,10 +196,10 @@
*
* @param tenor
* the Tenor to reach.
- * @param daysToSpot
+ * @param spotLag
* number of days to "spot" days, this can vary from one market
* to the other.
* @return the current DateCalculator
*/
- DateCalculator<E> moveByTenor(final Tenor tenor, final int daysToSpot);
+ DateCalculator<E> moveByTenor(final Tenor tenor, final int spotLag);
}
\ No newline at end of file
Modified: trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/HolidayHandler.java
===================================================================
--- trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/HolidayHandler.java 2006-09-11 12:32:00 UTC (rev 159)
+++ trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/HolidayHandler.java 2006-09-11 14:57:27 UTC (rev 160)
@@ -31,7 +31,20 @@
*
*/
public interface HolidayHandler<E> {
- E moveCurrentDate(DateCalculator<E> date);
+ /**
+ * 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.
+ */
+ E moveCurrentDate(DateCalculator<E> calculator);
+ /**
+ * Give the type name for this algorithm.
+ *
+ * @return algorithm name.
+ */
String getType();
}
Modified: trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/KitCalculatorsFactory.java
===================================================================
--- trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/KitCalculatorsFactory.java 2006-09-11 12:32:00 UTC (rev 159)
+++ trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/KitCalculatorsFactory.java 2006-09-11 14:57:27 UTC (rev 160)
@@ -30,7 +30,7 @@
* @author Benoit Xhenseval
* @author $LastChangedBy: benoitx $
* @version $Revision: 125 $ $Date: 2006-09-07 19:24:20 +0200 (Thu, 07 Sep 2006) $
- *
+ *
* @param <E>
* a representation of a date, typically JDK: Date, Calendar;
* Joda:LocalDate, YearMonthDay
Modified: trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/PeriodCountCalculator.java
===================================================================
--- trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/PeriodCountCalculator.java 2006-09-11 12:32:00 UTC (rev 159)
+++ trunk/datecalc-common/src/main/java/net/objectlab/kit/datecalc/common/PeriodCountCalculator.java 2006-09-11 14:57:27 UTC (rev 160)
@@ -44,31 +44,46 @@
int MONTH_30_DAYS = 30;
/**
- * This calculates the number of days between 2 dates, it follows the given basis which means that
- * the result could vary between the same 2 dates if the basis is different.
- * @param start the start date
- * @param end the end date
- * @param basis the basis to use
+ * This calculates the number of days between 2 dates, it follows the given
+ * basis which means that the result could vary between the same 2 dates if
+ * the basis is different.
+ *
+ * @param start
+ * the start date
+ * @param end
+ * the end date
+ * @param basis
+ * the basis to use
* @return number of days between end and start.
*/
int dayDiff(final E start, final E end, PeriodCountBasis basis);
/**
- * This calculates the number of months (or fraction) between 2 dates, it follows the given basis which means that
- * the result could vary between the same 2 dates if the basis is different.
- * @param start the start date
- * @param end the end date
- * @param basis the basis to use
+ * This calculates the number of months (or fraction) between 2 dates, it
+ * follows the given basis which means that the result could vary between
+ * the same 2 dates if the basis is different.
+ *
+ * @param start
+ * the start date
+ * @param end
+ * the end date
+ * @param basis
+ * the basis to use
* @return number of months between end and start.
*/
double monthDiff(final E start, final E end, PeriodCountBasis basis);
/**
- * This calculates the number of years (or fraction) between 2 dates, it follows the given basis which means that
- * the result could vary between the same 2 dates if the basis is different.
- * @param start the start date
- * @param end the end date
- * @param basis the basis to use
+ * This calculates the number of years (or fraction) between 2 dates, it
+ * follows the given basis which means that the result could vary between
+ * the same 2 dates if the basis is different.
+ *
+ * @param start
+ * the start date
+ * @param end
+ * the end date
+ * @param basis
+ * the basis to use
* @return number of months between end and start.
*/
double yearDiff(final E start, final E end, PeriodCountBasis basis);
Modified: trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractDateTestCase.java
===================================================================
--- trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractDateTestCase.java 2006-09-11 12:32:00 UTC (rev 159)
+++ trunk/datecalc-common/src/test/java/net/objectlab/kit/datecalc/common/AbstractDateTestCase.java 2006-09-11 14:57:27 UTC (rev 160)
@@ -57,16 +57,16 @@
*
* @param startDate
* @param tenor
- * @param daysToSpot
+ * @param spotLag
* @param expectedDate
* @param holidayHandlerType
*/
- protected void checkMoveByTenor(final String startDate, final Tenor tenor, final int daysToSpot, final String expectedDate,
+ protected void checkMoveByTenor(final String startDate, final Tenor tenor, final int spotLag, final String expectedDate,
final String holidayHandlerType) {
final DateCalculator<E> cal = newDateCalculator("bla", holidayHandlerType);
cal.setNonWorkingDays(createUKHolidays());
cal.setStartDate(newDate(startDate));
- checkDate("Move start:" + startDate + " tenor:" + tenor + " daysToSpot:" + daysToSpot, cal.moveByTenor(tenor, daysToSpot),
+ checkDate("Move start:" + startDate + " tenor:" + tenor + " daysToSpot:" + spotLag, cal.moveByTenor(tenor, spotLag),
expectedDate);
}
Modified: trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarBackwardHandler.java
===================================================================
--- trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarBackwardHandler.java 2006-09-11 12:32:00 UTC (rev 159)
+++ trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarBackwardHandler.java 2006-09-11 14:57:27 UTC (rev 160)
@@ -33,14 +33,26 @@
*/
public class CalendarBackwardHandler extends CalendarForwardHandler {
+ /**
+ * 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.
+ */
@Override
- public Calendar moveCurrentDate(final DateCalculator<Calendar> calendar) {
- return move(calendar, -1);
+ public Calendar moveCurrentDate(final DateCalculator<Calendar> calculator) {
+ return move(calculator, -1);
}
+ /**
+ * Give the type name for this algorithm.
+ *
+ * @return algorithm name.
+ */
@Override
public String getType() {
return HolidayHandlerType.BACKWARD;
}
-
}
Modified: trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarForwardHandler.java
===================================================================
--- trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarForwardHandler.java 2006-09-11 12:32:00 UTC (rev 159)
+++ trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarForwardHandler.java 2006-09-11 14:57:27 UTC (rev 160)
@@ -30,12 +30,19 @@
* @author Marcin Jekot
* @author $LastChangedBy$
* @version $Revision$ $Date$
- *
*/
public class CalendarForwardHandler implements HolidayHandler<Calendar> {
- public Calendar moveCurrentDate(final DateCalculator<Calendar> calendar) {
- return move(calendar, 1);
+ /**
+ * 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<Calendar> calculator) {
+ return move(calculator, 1);
}
protected Calendar move(final DateCalculator<Calendar> calculator, final int step) {
@@ -48,8 +55,12 @@
return cal;
}
+ /**
+ * Give the type name for this algorithm.
+ *
+ * @return algorithm name.
+ */
public String getType() {
return HolidayHandlerType.FORWARD;
}
-
}
Modified: trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarModifiedFollowingHandler.java
===================================================================
--- trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarModifiedFollowingHandler.java 2006-09-11 12:32:00 UTC (rev 159)
+++ trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarModifiedFollowingHandler.java 2006-09-11 14:57:27 UTC (rev 160)
@@ -33,17 +33,24 @@
*/
public class CalendarModifiedFollowingHandler implements HolidayHandler<Calendar> {
- public Calendar moveCurrentDate(final DateCalculator<Calendar> calendar) {
- return move(calendar, 1);
+ /**
+ * 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<Calendar> calculator) {
+ return move(calculator, 1);
}
- protected Calendar move(final DateCalculator<Calendar> calendar, int step) {
+ protected Calendar move(final DateCalculator<Calendar> calculator, int step) {
+ final Calendar cal = (Calendar) calculator.getCurrentBusinessDate().clone();
- final Calendar cal = (Calendar) calendar.getCurrentBusinessDate().clone();
-
final int month = cal.get(Calendar.MONTH);
- while (calendar.isNonWorkingDay(cal)) {
+ while (calculator.isNonWorkingDay(cal)) {
cal.add(Calendar.DAY_OF_MONTH, step);
if (month != cal.get(Calendar.MONTH)) {
// switch direction and go back
@@ -55,6 +62,11 @@
return cal;
}
+ /**
+ * Give the type name for this algorithm.
+ *
+ * @return algorithm name.
+ */
public String getType() {
return HolidayHandlerType.MODIFIED_FOLLLOWING;
}
Modified: trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarModifiedPreceedingHandler.java
===================================================================
--- trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarModifiedPreceedingHandler.java 2006-09-11 12:32:00 UTC (rev 159)
+++ trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/CalendarModifiedPreceedingHandler.java 2006-09-11 14:57:27 UTC (rev 160)
@@ -33,14 +33,26 @@
*/
public class CalendarModifiedPreceedingHandler extends CalendarModifiedFollowingHandler {
+ /**
+ * 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.
+ */
@Override
- public Calendar moveCurrentDate(final DateCalculator<Calendar> calendar) {
- return move(calendar, -1);
+ public Calendar moveCurrentDate(final DateCalculator<Calendar> calculator) {
+ return move(calculator, -1);
}
+ /**
+ * Give the type name for this algorithm.
+ *
+ * @return algorithm name.
+ */
@Override
public String getType() {
return HolidayHandlerType.MODIFIED_PRECEEDING;
}
-
}
Modified: trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateBackwardHandler.java
===================================================================
--- trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateBackwardHandler.java 2006-09-11 12:32:00 UTC (rev 159)
+++ trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateBackwardHandler.java 2006-09-11 14:57:27 UTC (rev 160)
@@ -34,11 +34,24 @@
*/
public class DateBackwardHandler extends DateForwardHandler {
+ /**
+ * 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.
+ */
@Override
- public Date moveCurrentDate(final DateCalculator<Date> calendar) {
- return move(calendar, -1);
+ public Date moveCurrentDate(final DateCalculator<Date> calculator) {
+ return move(calculator, -1);
}
+ /**
+ * Give the type name for this algorithm.
+ *
+ * @return algorithm name.
+ */
@Override
public String getType() {
return HolidayHandlerType.BACKWARD;
Modified: trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateForwardHandler.java
===================================================================
--- trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateForwardHandler.java 2006-09-11 12:32:00 UTC (rev 159)
+++ trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateForwardHandler.java 2006-09-11 14:57:27 UTC (rev 160)
@@ -36,8 +36,16 @@
*/
public class DateForwardHandler implements HolidayHandler<Date> {
- public Date moveCurrentDate(final DateCalculator<Date> calendar) {
- return move(calendar, 1);
+ /**
+ * 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 Date moveCurrentDate(final DateCalculator<Date> calculator) {
+ return move(calculator, 1);
}
protected Date move(final DateCalculator<Date> calculator, final int step) {
@@ -50,6 +58,11 @@
return cal.getTime();
}
+ /**
+ * Give the type name for this algorithm.
+ *
+ * @return algorithm name.
+ */
public String getType() {
return HolidayHandlerType.FORWARD;
}
Modified: trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateModifiedFollowingHandler.java
===================================================================
--- trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateModifiedFollowingHandler.java 2006-09-11 12:32:00 UTC (rev 159)
+++ trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateModifiedFollowingHandler.java 2006-09-11 14:57:27 UTC (rev 160)
@@ -36,16 +36,24 @@
*/
public class DateModifiedFollowingHandler implements HolidayHandler<Date> {
- public Date moveCurrentDate(final DateCalculator<Date> calendar) {
- return move(calendar, 1);
+ /**
+ * 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 Date moveCurrentDate(final DateCalculator<Date> calculator) {
+ return move(calculator, 1);
}
- protected Date move(final DateCalculator<Date> calendar, int step) {
- final Calendar cal = (Calendar) Utils.getCal(calendar.getCurrentBusinessDate()).clone();
+ protected Date move(final DateCalculator<Date> calculator, int step) {
+ final Calendar cal = (Calendar) Utils.getCal(calculator.getCurrentBusinessDate()).clone();
final int month = cal.get(Calendar.MONTH);
- while (calendar.isNonWorkingDay(cal.getTime())) {
+ while (calculator.isNonWorkingDay(cal.getTime())) {
cal.add(Calendar.DAY_OF_MONTH, step);
if (month != cal.get(Calendar.MONTH)) {
// switch direction and go back
@@ -57,6 +65,11 @@
return cal.getTime();
}
+ /**
+ * Give the type name for this algorithm.
+ *
+ * @return algorithm name.
+ */
public String getType() {
return HolidayHandlerType.MODIFIED_FOLLLOWING;
}
Modified: trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateModifiedPreceedingHandler.java
===================================================================
--- trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateModifiedPreceedingHandler.java 2006-09-11 12:32:00 UTC (rev 159)
+++ trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/DateModifiedPreceedingHandler.java 2006-09-11 14:57:27 UTC (rev 160)
@@ -34,14 +34,26 @@
*/
public class DateModifiedPreceedingHandler extends DateModifiedFollowingHandler {
+ /**
+ * 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.
+ */
@Override
- public Date moveCurrentDate(final DateCalculator<Date> calendar) {
- return move(calendar, -1);
+ public Date moveCurrentDate(final DateCalculator<Date> calculator) {
+ return move(calculator, -1);
}
+ /**
+ * Give the type name for this algorithm.
+ *
+ * @return algorithm name.
+ */
@Override
public String getType() {
return HolidayHandlerType.MODIFIED_PRECEEDING;
}
-
}
Modified: trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/HolidayHandlerDateWrapper.java
===================================================================
--- trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/HolidayHandlerDateWrapper.java 2006-09-11 12:32:00 UTC (rev 159)
+++ trunk/datecalc-jdk/src/main/java/net/objectlab/kit/datecalc/jdk/HolidayHandlerDateWrapper.java 2006-09-11 14:57:27 UTC (rev 160)
@@ -44,8 +44,16 @@
calculator = dateCalculator;
}
- public Calendar moveCurrentDate(final DateCalculator<Calendar> calendar) {
- Calendar ret = calendar.getCurrentBusinessDate();
+ /**
+ * If the current date of the give calculator is a non-working day, it will
+ * be moved according to the algorithm implemented.
+ *
+ * @param calc
+ * the calculator
+ * @return the date which may have moved.
+ */
+ public Calendar moveCurrentDate(final DateCalculator<Calendar> calc) {
+ Calendar ret = calc.getCurrentBusinessDate();
if (delegate != null) {
final Date day = delegate.moveCurrentDate(calculator);
if (day != null) {
@@ -55,6 +63,11 @@
return ret;
}
+ /**
+ * Give the type name for this algorithm.
+ *
+ * @return algorithm name.
+ */
public String getType() {
return delegate.getType();
}
Modified: trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/HolidayHandlerYearMonthDayWrapper.java
===================================================================
--- trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/HolidayHandlerYearMonthDayWrapper.java 2006-09-11 12:32:00 UTC (rev 159)
+++ trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/HolidayHandlerYearMonthDayWrapper.java 2006-09-11 14:57:27 UTC (rev 160)
@@ -38,6 +38,14 @@
private DateCalculator<YearMonthDay> calculator;
+ /**
+ * 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 HolidayHandlerYearMonthDayWrapper(final HolidayHandler<YearMonthDay> delegate,
final DateCalculator<YearMonthDay> calculator) {
this.delegate = delegate;
@@ -58,8 +66,8 @@
*
* @see net.objectlab.kit.datecalc.common.HolidayHandler#moveCurrentDate(net.objectlab.kit.datecalc.common.DateCalculator)
*/
- public LocalDate moveCurrentDate(final DateCalculator<LocalDate> calendar) {
- LocalDate ret = calendar.getCurrentBusinessDate();
+ public LocalDate moveCurrentDate(final DateCalculator<LocalDate> calc) {
+ LocalDate ret = calc.getCurrentBusinessDate();
if (delegate != null) {
final YearMonthDay day = delegate.moveCurrentDate(calculator);
if (day != null) {
Modified: trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDateBackwardHandler.java
===================================================================
--- trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDateBackwardHandler.java 2006-09-11 12:32:00 UTC (rev 159)
+++ trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDateBackwardHandler.java 2006-09-11 14:57:27 UTC (rev 160)
@@ -33,14 +33,26 @@
*/
public class LocalDateBackwardHandler extends LocalDateForwardHandler {
+ /**
+ * 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.
+ */
@Override
- public LocalDate moveCurrentDate(final DateCalculator<LocalDate> calendar) {
- return move(calendar, -1);
+ public LocalDate moveCurrentDate(final DateCalculator<LocalDate> calculator) {
+ return move(calculator, -1);
}
+ /**
+ * Give the type name for this algorithm.
+ *
+ * @return algorithm name.
+ */
@Override
public String getType() {
return HolidayHandlerType.BACKWARD;
}
-
}
Modified: trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDateForwardHandler.java
===================================================================
--- trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDateForwardHandler.java 2006-09-11 12:32:00 UTC (rev 159)
+++ trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDateForwardHandler.java 2006-09-11 14:57:27 UTC (rev 160)
@@ -34,18 +34,31 @@
*/
public class LocalDateForwardHandler implements HolidayHandler<LocalDate> {
- public LocalDate moveCurrentDate(final DateCalculator<LocalDate> calendar) {
- return move(calendar, 1);
+ /**
+ * 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 LocalDate moveCurrentDate(final DateCalculator<LocalDate> calculator) {
+ return move(calculator, 1);
}
- protected LocalDate move(final DateCalculator<LocalDate> calendar, final int step) {
- LocalDate date = calendar.getCurrentBusinessDate();
- while (calendar.isNonWorkingDay(date)) {
+ protected LocalDate move(final DateCalculator<LocalDate> calculator, final int step) {
+ LocalDate date = calculator.getCurrentBusinessDate();
+ while (calculator.isNonWorkingDay(date)) {
date = date.plusDays(step);
}
return date;
}
+ /**
+ * Give the type name for this algorithm.
+ *
+ * @return algorithm name.
+ */
public String getType() {
return HolidayHandlerType.FORWARD;
}
Modified: trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDateModifiedFollowingHandler.java
===================================================================
--- trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDateModifiedFollowingHandler.java 2006-09-11 12:32:00 UTC (rev 159)
+++ trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDateModifiedFollowingHandler.java 2006-09-11 14:57:27 UTC (rev 160)
@@ -35,14 +35,22 @@
*/
public class LocalDateModifiedFollowingHandler implements HolidayHandler<LocalDate> {
- public LocalDate moveCurrentDate(final DateCalculator<LocalDate> calendar) {
- return move(calendar, 1);
+ /**
+ * 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 LocalDate moveCurrentDate(final DateCalculator<LocalDate> calculator) {
+ return move(calculator, 1);
}
- protected LocalDate move(final DateCalculator<LocalDate> calendar, int step) {
- LocalDate date = calendar.getCurrentBusinessDate();
+ protected LocalDate move(final DateCalculator<LocalDate> calculator, int step) {
+ LocalDate date = calculator.getCurrentBusinessDate();
final int month = date.getMonthOfYear();
- while (calendar.isNonWorkingDay(date)) {
+ while (calculator.isNonWorkingDay(date)) {
date = date.plusDays(step);
if (date.getMonthOfYear() != month) {
// flick to backward
@@ -53,6 +61,11 @@
return date;
}
+ /**
+ * Give the type name for this algorithm.
+ *
+ * @return algorithm name.
+ */
public String getType() {
return HolidayHandlerType.MODIFIED_FOLLLOWING;
}
Modified: trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDateModifiedPreceedingHandler.java
===================================================================
--- trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDateModifiedPreceedingHandler.java 2006-09-11 12:32:00 UTC (rev 159)
+++ trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDateModifiedPreceedingHandler.java 2006-09-11 14:57:27 UTC (rev 160)
@@ -34,13 +34,26 @@
*/
public class LocalDateModifiedPreceedingHandler extends LocalDateModifiedFollowingHandler {
+ /**
+ * Give the type name for this algorithm.
+ *
+ * @return algorithm name.
+ */
@Override
public String getType() {
return HolidayHandlerType.MODIFIED_PRECEEDING;
}
+ /**
+ * 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.
+ */
@Override
- public LocalDate moveCurrentDate(final DateCalculator<LocalDate> calendar) {
- return move(calendar, -1);
+ public LocalDate moveCurrentDate(final DateCalculator<LocalDate> calculator) {
+ return move(calculator, -1);
}
}
Modified: trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDatePeriodCountCalculator.java
===================================================================
--- trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDatePeriodCountCalculator.java 2006-09-11 12:32:00 UTC (rev 159)
+++ trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/LocalDatePeriodCountCalculator.java 2006-09-11 14:57:27 UTC (rev 160)
@@ -99,8 +99,8 @@
final int diff1 = new Period(start, endOfStartYear, PeriodType.days()).getDays();
final int diff2 = new Period(startOfEndYear, end, PeriodType.days()).getDays();
- diff = ((diff1 + 1.0)) / start.dayOfYear().getMaximumValue()
- + ((endYear - startYear - 1.0)) + ((double) (diff2)) / (double) end.dayOfYear().getMaximumValue();
+ diff = ((diff1 + 1.0)) / start.dayOfYear().getMaximumValue() + ((endYear - startYear - 1.0)) + ((double) (diff2))
+ / (double) end.dayOfYear().getMaximumValue();
}
} else if (basis == PeriodCountBasis.CONV_30_360 || basis == PeriodCountBasis.CONV_360E_ISDA
Modified: trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayBackwardHandler.java
===================================================================
--- trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayBackwardHandler.java 2006-09-11 12:32:00 UTC (rev 159)
+++ trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayBackwardHandler.java 2006-09-11 14:57:27 UTC (rev 160)
@@ -18,7 +18,6 @@
package net.objectlab.kit.datecalc.joda;
import net.objectlab.kit.datecalc.common.DateCalculator;
-import net.objectlab.kit.datecalc.common.HolidayHandler;
import net.objectlab.kit.datecalc.common.HolidayHandlerType;
import org.joda.time.YearMonthDay;
@@ -32,18 +31,26 @@
* @version $Revision$ $Date$
*
*/
-public class YearMonthDayBackwardHandler implements HolidayHandler<YearMonthDay> {
+public class YearMonthDayBackwardHandler extends YearMonthDayForwardHandler {
- public YearMonthDay moveCurrentDate(final DateCalculator<YearMonthDay> calendar) {
- YearMonthDay date = calendar.getCurrentBusinessDate();
- while (calendar.isNonWorkingDay(date)) {
- date = date.minusDays(1);
- }
- return date;
+ /**
+ * 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 YearMonthDay moveCurrentDate(final DateCalculator<YearMonthDay> calculator) {
+ return move(calculator, -1);
}
+ /**
+ * Give the type name for this algorithm.
+ *
+ * @return algorithm name.
+ */
public String getType() {
return HolidayHandlerType.BACKWARD;
}
-
}
Modified: trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayForwardHandler.java
===================================================================
--- trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayForwardHandler.java 2006-09-11 12:32:00 UTC (rev 159)
+++ trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayForwardHandler.java 2006-09-11 14:57:27 UTC (rev 160)
@@ -34,14 +34,31 @@
*/
public class YearMonthDayForwardHandler implements HolidayHandler<YearMonthDay> {
- public YearMonthDay moveCurrentDate(final DateCalculator<YearMonthDay> calendar) {
- YearMonthDay date = calendar.getCurrentBusinessDate();
- while (calendar.isNonWorkingDay(date)) {
- date = date.plusDays(1);
+ /**
+ * 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 YearMonthDay moveCurrentDate(final DateCalculator<YearMonthDay> calculator) {
+ return move(calculator, 1);
+ }
+
+ protected YearMonthDay move(final DateCalculator<YearMonthDay> calculator, final int step) {
+ YearMonthDay date = calculator.getCurrentBusinessDate();
+ while (calculator.isNonWorkingDay(date)) {
+ date = date.plusDays(step);
}
return date;
}
+ /**
+ * Give the type name for this algorithm.
+ *
+ * @return algorithm name.
+ */
public String getType() {
return HolidayHandlerType.FORWARD;
}
Modified: trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayModifiedFollowingHandler.java
===================================================================
--- trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayModifiedFollowingHandler.java 2006-09-11 12:32:00 UTC (rev 159)
+++ trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayModifiedFollowingHandler.java 2006-09-11 14:57:27 UTC (rev 160)
@@ -35,19 +35,35 @@
*/
public class YearMonthDayModifiedFollowingHandler implements HolidayHandler<YearMonthDay> {
+ /**
+ * Give the type name for this algorithm.
+ *
+ * @return algorithm name.
+ */
public String getType() {
return HolidayHandlerType.MODIFIED_FOLLLOWING;
}
- public YearMonthDay moveCurrentDate(final DateCalculator<YearMonthDay> calendar) {
- YearMonthDay date = calendar.getCurrentBusinessDate();
+ /**
+ * 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 YearMonthDay moveCurrentDate(final DateCalculator<YearMonthDay> calculator) {
+ return move(calculator, 1);
+ }
+
+ protected YearMonthDay move(final DateCalculator<YearMonthDay> calculator, int step) {
+ YearMonthDay date = calculator.getCurrentBusinessDate();
final int month = date.getMonthOfYear();
- int step = 1;
- while (calendar.isNonWorkingDay(date)) {
+ while (calculator.isNonWorkingDay(date)) {
date = date.plusDays(step);
if (date.getMonthOfYear() != month) {
// flick to backward
- step = -1;
+ step *= -1;
date = date.plusDays(step);
}
}
Modified: trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayModifiedPreceedingHandler.java
===================================================================
--- trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayModifiedPreceedingHandler.java 2006-09-11 12:32:00 UTC (rev 159)
+++ trunk/datecalc-joda/src/main/java/net/objectlab/kit/datecalc/joda/YearMonthDayModifiedPreceedingHandler.java 2006-09-11 14:57:27 UTC (rev 160)
@@ -18,7 +18,6 @@
package net.objectlab.kit.datecalc.joda;
import net.objectlab.kit.datecalc.common.DateCalculator;
-import net.objectlab.kit.datecalc.common.HolidayHandler;
import net.objectlab.kit.datecalc.common.HolidayHandlerType;
import org.joda.time.YearMonthDay;
@@ -33,25 +32,26 @@
* @version $Revision$ $Date$
*
*/
-public class YearMonthDayModifiedPreceedingHandler implements HolidayHandler<YearMonthDay> {
+public class YearMonthDayModifiedPreceedingHandler extends YearMonthDayModifiedFollowingHandler {
- public YearMonthDay moveCurrentDate(final DateCalculator<YearMonthDay> calendar) {
- YearMonthDay date = calendar.getCurrentBusinessDate();
- final int month = date.getMonthOfYear();
- int step = -1;
- while (calendar.isNonWorkingDay(date)) {
- date = date.plusDays(step);
- if (date.getMonthOfYear() != month) {
- // flick to backward
- step = 1;
- date = date.plusDays(step);
- }
- }
- return date;
+ /**
+ * 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 YearMonthDay moveCurrentDate(final DateCalculator<YearMonthDay> calculator) {
+ return move(calculator, -1);
}
+ /**
+ * Give the type name for this algorithm.
+ *
+ * @return algorithm name.
+ */
public String getType() {
return HolidayHandlerType.MODIFIED_PRECEEDING;
}
-
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|