Author: fdesbois Date: 2010-01-11 16:13:29 +0100 (Mon, 11 Jan 2010) New Revision: 1733 Modified: trunk/src/main/java/org/nuiton/util/PeriodDates.java Log: Add constraint on period creation (throw IllegalArgumentException if dateEnd < dateBegin) Modified: trunk/src/main/java/org/nuiton/util/PeriodDates.java =================================================================== --- trunk/src/main/java/org/nuiton/util/PeriodDates.java 2010-01-10 23:34:03 UTC (rev 1732) +++ trunk/src/main/java/org/nuiton/util/PeriodDates.java 2010-01-11 15:13:29 UTC (rev 1733) @@ -57,21 +57,22 @@ public PeriodDates() { } - public PeriodDates(Date fromDate, Date thruDate) { -// this.fromCalendar = new GregorianCalendar(); + public PeriodDates(Date fromDate, Date thruDate) throws IllegalArgumentException { + if (thruDate != null && fromDate != null && fromDate.after(thruDate)) { + throw new IllegalArgumentException("The fromDate can't be after the thruDate !"); + } + setFromDate(fromDate); - -// this.thruCalendar = new GregorianCalendar(); setThruDate(thruDate); this.pattern = DateUtils.DEFAULT_PATTERN; } - public PeriodDates(Calendar fromCalendar, Calendar thruCalendar) { -// this.fromDate = fromCalendar.getTime(); + public PeriodDates(Calendar fromCalendar, Calendar thruCalendar) throws IllegalArgumentException { + if (thruCalendar != null && fromCalendar != null && fromCalendar.after(thruCalendar)) { + throw new IllegalArgumentException("The fromDate can't be after the thruDate !"); + } this.fromCalendar = fromCalendar; - -// this.thruDate = thruCalendar.getTime(); this.thruCalendar = thruCalendar; this.pattern = DateUtils.DEFAULT_PATTERN; @@ -109,7 +110,7 @@ /** * Set first day of month for dateFrom and last day of month for dateThru */ - public void setDayOfMonthExtremities() { + public void initDayOfMonthExtremities() { if (fromCalendar == null || thruCalendar == null) { throw new NullPointerException("fromDate or thruDate can't be null to" + " change dayOfMonth extremities");