/** * Returns true if the present instance of Recurring Duration Base is equal to the parameter. * * <p>The equals relation is the following : <tt>rd1 equals rd2 iff each field of rd1 is equal to * the corresponding field of rd2 </tt> * * @param reccD the recurring duration to compare with the present instance * @return true if the present instance is equal to the parameter false if not */ public boolean equal(RecurringDurationBase reccD) throws ValidationException { boolean result = false; if (!(this.getPeriod().equals(reccD.getPeriod())) || !(this.getDuration().equals(reccD.getDuration()))) { String err = "Recurring Duration which have different values " + "for the duration and period can not be compared"; throw new ValidationException(err); } result = (this.getHour() == reccD.getHour()); result = result && (this.getMinute() == reccD.getMinute()); result = result && (this.getSeconds() == reccD.getSeconds()); result = result && (this.getMilli() == reccD.getMilli()); result = result && (this.isNegative() == this.isNegative()); if (!reccD.isUTC()) { result = result && (!this.isUTC()); result = result && (this.getZoneHour() == reccD.getZoneHour()); result = result && (this.getZoneMinute() == reccD.getZoneMinute()); } return result; } // equals