StrictChronology.java 4.15 KB
package org.joda.time.chrono;

import org.joda.time.Chronology;
import org.joda.time.DateTimeZone;
import org.joda.time.field.StrictDateTimeField;

public final class StrictChronology
  extends AssembledChronology
{
  private static final long serialVersionUID = 6633006628097111960L;
  private transient Chronology a;
  
  private StrictChronology(Chronology paramChronology)
  {
    super(paramChronology, null);
  }
  
  public static StrictChronology getInstance(Chronology paramChronology)
  {
    if (paramChronology == null) {
      throw new IllegalArgumentException("Must supply a chronology");
    }
    return new StrictChronology(paramChronology);
  }
  
  protected final void assemble(AssembledChronology.Fields paramFields)
  {
    paramFields.year = StrictDateTimeField.getInstance(paramFields.year);
    paramFields.yearOfEra = StrictDateTimeField.getInstance(paramFields.yearOfEra);
    paramFields.yearOfCentury = StrictDateTimeField.getInstance(paramFields.yearOfCentury);
    paramFields.centuryOfEra = StrictDateTimeField.getInstance(paramFields.centuryOfEra);
    paramFields.era = StrictDateTimeField.getInstance(paramFields.era);
    paramFields.dayOfWeek = StrictDateTimeField.getInstance(paramFields.dayOfWeek);
    paramFields.dayOfMonth = StrictDateTimeField.getInstance(paramFields.dayOfMonth);
    paramFields.dayOfYear = StrictDateTimeField.getInstance(paramFields.dayOfYear);
    paramFields.monthOfYear = StrictDateTimeField.getInstance(paramFields.monthOfYear);
    paramFields.weekOfWeekyear = StrictDateTimeField.getInstance(paramFields.weekOfWeekyear);
    paramFields.weekyear = StrictDateTimeField.getInstance(paramFields.weekyear);
    paramFields.weekyearOfCentury = StrictDateTimeField.getInstance(paramFields.weekyearOfCentury);
    paramFields.millisOfSecond = StrictDateTimeField.getInstance(paramFields.millisOfSecond);
    paramFields.millisOfDay = StrictDateTimeField.getInstance(paramFields.millisOfDay);
    paramFields.secondOfMinute = StrictDateTimeField.getInstance(paramFields.secondOfMinute);
    paramFields.secondOfDay = StrictDateTimeField.getInstance(paramFields.secondOfDay);
    paramFields.minuteOfHour = StrictDateTimeField.getInstance(paramFields.minuteOfHour);
    paramFields.minuteOfDay = StrictDateTimeField.getInstance(paramFields.minuteOfDay);
    paramFields.hourOfDay = StrictDateTimeField.getInstance(paramFields.hourOfDay);
    paramFields.hourOfHalfday = StrictDateTimeField.getInstance(paramFields.hourOfHalfday);
    paramFields.clockhourOfDay = StrictDateTimeField.getInstance(paramFields.clockhourOfDay);
    paramFields.clockhourOfHalfday = StrictDateTimeField.getInstance(paramFields.clockhourOfHalfday);
    paramFields.halfdayOfDay = StrictDateTimeField.getInstance(paramFields.halfdayOfDay);
  }
  
  public final boolean equals(Object paramObject)
  {
    if (this == paramObject) {
      return true;
    }
    if (!(paramObject instanceof StrictChronology)) {
      return false;
    }
    paramObject = (StrictChronology)paramObject;
    return getBase().equals(((StrictChronology)paramObject).getBase());
  }
  
  public final int hashCode()
  {
    return 352831696 + getBase().hashCode() * 7;
  }
  
  public final String toString()
  {
    return "StrictChronology[" + getBase().toString() + ']';
  }
  
  public final Chronology withUTC()
  {
    if (this.a == null) {
      if (getZone() != DateTimeZone.UTC) {
        break label27;
      }
    }
    label27:
    for (this.a = this;; this.a = getInstance(getBase().withUTC())) {
      return this.a;
    }
  }
  
  public final Chronology withZone(DateTimeZone paramDateTimeZone)
  {
    DateTimeZone localDateTimeZone = paramDateTimeZone;
    if (paramDateTimeZone == null) {
      localDateTimeZone = DateTimeZone.getDefault();
    }
    if (localDateTimeZone == DateTimeZone.UTC) {
      paramDateTimeZone = withUTC();
    }
    do
    {
      return paramDateTimeZone;
      paramDateTimeZone = this;
    } while (localDateTimeZone == getZone());
    return getInstance(getBase().withZone(localDateTimeZone));
  }
}


/* Location:              /home/merong/decompile/hackery-dex2jar.jar!/org/joda/time/chrono/StrictChronology.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       0.7.1
 */