CopticChronology.java 4.25 KB
package org.joda.time.chrono;

import java.util.HashMap;
import java.util.Map;
import org.joda.time.Chronology;
import org.joda.time.DateTime;
import org.joda.time.DateTimeField;
import org.joda.time.DateTimeZone;
import org.joda.time.field.SkipDateTimeField;
import uj;
import ul;
import um;

public final class CopticChronology
  extends uj
{
  public static final int AM = 1;
  private static final DateTimeField a = new um("AM");
  private static final Map<DateTimeZone, CopticChronology[]> b = new HashMap();
  private static final CopticChronology c = getInstance(DateTimeZone.UTC);
  private static final long serialVersionUID = -5972804258688333942L;
  
  private CopticChronology(Chronology paramChronology, int paramInt)
  {
    super(paramChronology, paramInt);
  }
  
  public static CopticChronology getInstance()
  {
    return getInstance(DateTimeZone.getDefault(), 4);
  }
  
  public static CopticChronology getInstance(DateTimeZone paramDateTimeZone)
  {
    return getInstance(paramDateTimeZone, 4);
  }
  
  public static CopticChronology getInstance(DateTimeZone paramDateTimeZone, int paramInt)
  {
    DateTimeZone localDateTimeZone = paramDateTimeZone;
    if (paramDateTimeZone == null) {
      localDateTimeZone = DateTimeZone.getDefault();
    }
    for (;;)
    {
      Object localObject1;
      synchronized (b)
      {
        paramDateTimeZone = (CopticChronology[])b.get(localDateTimeZone);
        localObject1 = paramDateTimeZone;
        if (paramDateTimeZone == null)
        {
          localObject1 = new CopticChronology[7];
          b.put(localDateTimeZone, localObject1);
        }
        Object localObject2 = localObject1[(paramInt - 1)];
        paramDateTimeZone = (DateTimeZone)localObject2;
        if (localObject2 == null)
        {
          if (localDateTimeZone == DateTimeZone.UTC)
          {
            paramDateTimeZone = new CopticChronology(null, paramInt);
            paramDateTimeZone = new CopticChronology(LimitChronology.getInstance(paramDateTimeZone, new DateTime(1, 1, 1, 0, 0, 0, 0, paramDateTimeZone), null), paramInt);
            break label149;
          }
        }
        else {
          return paramDateTimeZone;
        }
      }
      paramDateTimeZone = new CopticChronology(ZonedChronology.getInstance(getInstance(DateTimeZone.UTC, paramInt), localDateTimeZone), paramInt);
      label149:
      localObject1[(paramInt - 1)] = paramDateTimeZone;
    }
  }
  
  public static CopticChronology getInstanceUTC()
  {
    return c;
  }
  
  private Object readResolve()
  {
    Chronology localChronology = getBase();
    int j = getMinimumDaysInFirstWeek();
    int i = j;
    if (j == 0) {
      i = 4;
    }
    if (localChronology == null) {
      return getInstance(DateTimeZone.UTC, i);
    }
    return getInstance(localChronology.getZone(), i);
  }
  
  protected final void assemble(AssembledChronology.Fields paramFields)
  {
    if (getBase() == null)
    {
      super.assemble(paramFields);
      paramFields.year = new SkipDateTimeField(this, paramFields.year);
      paramFields.weekyear = new SkipDateTimeField(this, paramFields.weekyear);
      paramFields.era = a;
      paramFields.monthOfYear = new ul(this, 13);
      paramFields.months = paramFields.monthOfYear.getDurationField();
    }
  }
  
  final int c()
  {
    return -292269337;
  }
  
  final int d()
  {
    return 292272708;
  }
  
  final long f(int paramInt)
  {
    int k = paramInt - 1687;
    int i;
    if (k <= 0) {
      i = k + 3 >> 2;
    }
    for (;;)
    {
      long l = k;
      return (i + l * 365L) * 86400000L + 21859200000L;
      int j = k >> 2;
      i = j;
      if (!d(paramInt)) {
        i = j + 1;
      }
    }
  }
  
  final long i()
  {
    return 26607895200000L;
  }
  
  public final Chronology withUTC()
  {
    return c;
  }
  
  public final Chronology withZone(DateTimeZone paramDateTimeZone)
  {
    DateTimeZone localDateTimeZone = paramDateTimeZone;
    if (paramDateTimeZone == null) {
      localDateTimeZone = DateTimeZone.getDefault();
    }
    if (localDateTimeZone == getZone()) {
      return this;
    }
    return getInstance(localDateTimeZone);
  }
}


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