LenientChronology.java 3.67 KB
package org.joda.time.chrono;

import org.joda.time.Chronology;
import org.joda.time.DateTimeField;
import org.joda.time.DateTimeZone;
import org.joda.time.field.LenientDateTimeField;

public final class LenientChronology
  extends AssembledChronology
{
  private static final long serialVersionUID = -3148237568046877177L;
  private transient Chronology a;
  
  private LenientChronology(Chronology paramChronology)
  {
    super(paramChronology, null);
  }
  
  private final DateTimeField a(DateTimeField paramDateTimeField)
  {
    return LenientDateTimeField.getInstance(paramDateTimeField, getBase());
  }
  
  public static LenientChronology getInstance(Chronology paramChronology)
  {
    if (paramChronology == null) {
      throw new IllegalArgumentException("Must supply a chronology");
    }
    return new LenientChronology(paramChronology);
  }
  
  protected final void assemble(AssembledChronology.Fields paramFields)
  {
    paramFields.year = a(paramFields.year);
    paramFields.yearOfEra = a(paramFields.yearOfEra);
    paramFields.yearOfCentury = a(paramFields.yearOfCentury);
    paramFields.centuryOfEra = a(paramFields.centuryOfEra);
    paramFields.era = a(paramFields.era);
    paramFields.dayOfWeek = a(paramFields.dayOfWeek);
    paramFields.dayOfMonth = a(paramFields.dayOfMonth);
    paramFields.dayOfYear = a(paramFields.dayOfYear);
    paramFields.monthOfYear = a(paramFields.monthOfYear);
    paramFields.weekOfWeekyear = a(paramFields.weekOfWeekyear);
    paramFields.weekyear = a(paramFields.weekyear);
    paramFields.weekyearOfCentury = a(paramFields.weekyearOfCentury);
    paramFields.millisOfSecond = a(paramFields.millisOfSecond);
    paramFields.millisOfDay = a(paramFields.millisOfDay);
    paramFields.secondOfMinute = a(paramFields.secondOfMinute);
    paramFields.secondOfDay = a(paramFields.secondOfDay);
    paramFields.minuteOfHour = a(paramFields.minuteOfHour);
    paramFields.minuteOfDay = a(paramFields.minuteOfDay);
    paramFields.hourOfDay = a(paramFields.hourOfDay);
    paramFields.hourOfHalfday = a(paramFields.hourOfHalfday);
    paramFields.clockhourOfDay = a(paramFields.clockhourOfDay);
    paramFields.clockhourOfHalfday = a(paramFields.clockhourOfHalfday);
    paramFields.halfdayOfDay = a(paramFields.halfdayOfDay);
  }
  
  public final boolean equals(Object paramObject)
  {
    if (this == paramObject) {
      return true;
    }
    if (!(paramObject instanceof LenientChronology)) {
      return false;
    }
    paramObject = (LenientChronology)paramObject;
    return getBase().equals(((LenientChronology)paramObject).getBase());
  }
  
  public final int hashCode()
  {
    return 236548278 + getBase().hashCode() * 7;
  }
  
  public final String toString()
  {
    return "LenientChronology[" + 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/LenientChronology.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       0.7.1
 */