Exemplo n.º 1
0
  /**
   * 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