| 
      
      
      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.
 |