package com.l7tech.policy.assertion;

import java.io.Serializable;

public class TimeOfDay implements Comparable, Serializable {
   protected int _hour;
   protected int _minute;
   protected int _second;
   protected transient int _secondsSinceMidnight;
   static final long serialVersionUID = 8628869478908878550L;

   public TimeOfDay() {
   }

   public TimeOfDay(int var1, int var2, int var3) {
      this._hour = var1;
      this._minute = var2;
      this._second = var3;
      this._secondsSinceMidnight = var1 * 60 * 60 + var2 * 60 + var3;
   }

   public int getHour() {
      return this._hour;
   }

   public int getMinute() {
      return this._minute;
   }

   public int getSecond() {
      return this._second;
   }

   public void setHour(int var1) {
      this._hour = var1;
      this._secondsSinceMidnight = this._hour * 60 * 60 + this._minute * 60 + this._second;
   }

   public void setMinute(int var1) {
      this._minute = var1;
      this._secondsSinceMidnight = this._hour * 60 * 60 + this._minute * 60 + this._second;
   }

   public void setSecond(int var1) {
      this._second = var1;
      this._secondsSinceMidnight = this._hour * 60 * 60 + this._minute * 60 + this._second;
   }

   public boolean before(TimeOfDay var1) {
      return this._secondsSinceMidnight < var1._secondsSinceMidnight;
   }

   public boolean after(TimeOfDay var1) {
      return this._secondsSinceMidnight > var1._secondsSinceMidnight;
   }

   @Override
   public int compareTo(Object var1) {
      TimeOfDay var2 = (TimeOfDay)var1;
      if (var2._secondsSinceMidnight == this._secondsSinceMidnight) {
         return 0;
      } else {
         return var2._secondsSinceMidnight < this._secondsSinceMidnight ? 1 : -1;
      }
   }

   @Override
   public boolean equals(Object var1) {
      if (this == var1) {
         return true;
      } else if (var1 != null && this.getClass() == var1.getClass()) {
         TimeOfDay var2 = (TimeOfDay)var1;
         return this._secondsSinceMidnight == var2._secondsSinceMidnight;
      } else {
         return false;
      }
   }

   @Override
   public int hashCode() {
      int var1 = this._hour;
      var1 = 29 * var1 + this._minute;
      var1 = 29 * var1 + this._second;
      return 29 * var1 + this._secondsSinceMidnight;
   }
}
