home *** CD-ROM | disk | FTP | other *** search
/ Dynamic HTML Construction Kit / Dynamic HTML Construction Kit.iso / earthlink / nscomm / java40.jar / java / util / Calendar.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-03  |  5.0 KB  |  266 lines

  1. package java.util;
  2.  
  3. import java.io.Serializable;
  4. import java.text.DateFormat;
  5.  
  6. public abstract class Calendar implements Serializable, Cloneable {
  7.    public static final int ERA = 0;
  8.    public static final int YEAR = 1;
  9.    public static final int MONTH = 2;
  10.    public static final int WEEK_OF_YEAR = 3;
  11.    public static final int WEEK_OF_MONTH = 4;
  12.    public static final int DATE = 5;
  13.    public static final int DAY_OF_MONTH = 5;
  14.    public static final int DAY_OF_YEAR = 6;
  15.    public static final int DAY_OF_WEEK = 7;
  16.    public static final int DAY_OF_WEEK_IN_MONTH = 8;
  17.    public static final int AM_PM = 9;
  18.    public static final int HOUR = 10;
  19.    public static final int HOUR_OF_DAY = 11;
  20.    public static final int MINUTE = 12;
  21.    public static final int SECOND = 13;
  22.    public static final int MILLISECOND = 14;
  23.    public static final int ZONE_OFFSET = 15;
  24.    public static final int DST_OFFSET = 16;
  25.    public static final int FIELD_COUNT = 17;
  26.    public static final int SUNDAY = 1;
  27.    public static final int MONDAY = 2;
  28.    public static final int TUESDAY = 3;
  29.    public static final int WEDNESDAY = 4;
  30.    public static final int THURSDAY = 5;
  31.    public static final int FRIDAY = 6;
  32.    public static final int SATURDAY = 7;
  33.    public static final int JANUARY = 0;
  34.    public static final int FEBRUARY = 1;
  35.    public static final int MARCH = 2;
  36.    public static final int APRIL = 3;
  37.    public static final int MAY = 4;
  38.    public static final int JUNE = 5;
  39.    public static final int JULY = 6;
  40.    public static final int AUGUST = 7;
  41.    public static final int SEPTEMBER = 8;
  42.    public static final int OCTOBER = 9;
  43.    public static final int NOVEMBER = 10;
  44.    public static final int DECEMBER = 11;
  45.    public static final int UNDECIMBER = 12;
  46.    // $FF: renamed from: AM int
  47.    public static final int field_0 = 0;
  48.    // $FF: renamed from: PM int
  49.    public static final int field_1 = 1;
  50.    protected int[] fields = new int[17];
  51.    protected boolean[] isSet = new boolean[17];
  52.    protected long time;
  53.    protected boolean isTimeSet;
  54.    protected boolean areFieldsSet;
  55.    private boolean lenient = true;
  56.    private TimeZone zone;
  57.    private int firstDayOfWeek;
  58.    private int minimalDaysInFirstWeek;
  59.    private static Locale localeCache;
  60.    private static int firstDayOfWeekCache;
  61.    private static int minimalDaysInFirstWeekCache;
  62.  
  63.    protected Calendar() {
  64.       this.zone = TimeZone.getDefault();
  65.       this.setWeekCountData(Locale.getDefault());
  66.    }
  67.  
  68.    protected Calendar(TimeZone var1, Locale var2) {
  69.       this.zone = var1;
  70.       this.setWeekCountData(var2);
  71.    }
  72.  
  73.    public static synchronized Calendar getInstance() {
  74.       return new GregorianCalendar();
  75.    }
  76.  
  77.    public static synchronized Calendar getInstance(TimeZone var0) {
  78.       return new GregorianCalendar(var0, Locale.getDefault());
  79.    }
  80.  
  81.    public static synchronized Calendar getInstance(Locale var0) {
  82.       return new GregorianCalendar(TimeZone.getDefault(), var0);
  83.    }
  84.  
  85.    public static synchronized Calendar getInstance(TimeZone var0, Locale var1) {
  86.       return new GregorianCalendar(var0, var1);
  87.    }
  88.  
  89.    public static synchronized Locale[] getAvailableLocales() {
  90.       return DateFormat.getAvailableLocales();
  91.    }
  92.  
  93.    protected abstract void computeTime();
  94.  
  95.    protected abstract void computeFields();
  96.  
  97.    public final Date getTime() {
  98.       return new Date(this.getTimeInMillis());
  99.    }
  100.  
  101.    public final void setTime(Date var1) {
  102.       this.setTimeInMillis(var1.getTime());
  103.    }
  104.  
  105.    protected long getTimeInMillis() {
  106.       if (!this.isTimeSet) {
  107.          this.computeTime();
  108.       }
  109.  
  110.       return this.time;
  111.    }
  112.  
  113.    protected void setTimeInMillis(long var1) {
  114.       this.areFieldsSet = false;
  115.       this.isTimeSet = true;
  116.       this.time = var1;
  117.    }
  118.  
  119.    public final int get(int var1) {
  120.       if (!this.areFieldsSet) {
  121.          this.computeFields();
  122.       }
  123.  
  124.       return this.fields[var1];
  125.    }
  126.  
  127.    protected final int internalGet(int var1) {
  128.       return this.fields[var1];
  129.    }
  130.  
  131.    public final void set(int var1, int var2) {
  132.       this.isTimeSet = false;
  133.       this.fields[var1] = var2;
  134.       this.isSet[var1] = true;
  135.       this.areFieldsSet = true;
  136.    }
  137.  
  138.    public final void set(int var1, int var2, int var3) {
  139.       this.set(1, var1);
  140.       this.set(2, var2);
  141.       this.set(5, var3);
  142.    }
  143.  
  144.    public final void set(int var1, int var2, int var3, int var4, int var5) {
  145.       this.set(1, var1);
  146.       this.set(2, var2);
  147.       this.set(5, var3);
  148.       this.set(11, var4);
  149.       this.set(12, var5);
  150.    }
  151.  
  152.    public final void set(int var1, int var2, int var3, int var4, int var5, int var6) {
  153.       this.set(1, var1);
  154.       this.set(2, var2);
  155.       this.set(5, var3);
  156.       this.set(11, var4);
  157.       this.set(12, var5);
  158.       this.set(13, var6);
  159.    }
  160.  
  161.    public final void clear() {
  162.       this.isSet = new boolean[17];
  163.       this.fields = new int[17];
  164.       this.areFieldsSet = false;
  165.    }
  166.  
  167.    public final void clear(int var1) {
  168.       this.isSet[var1] = false;
  169.       this.fields[var1] = 0;
  170.    }
  171.  
  172.    public final boolean isSet(int var1) {
  173.       return this.isSet[var1];
  174.    }
  175.  
  176.    protected void complete() {
  177.       this.computeTime();
  178.       this.computeFields();
  179.    }
  180.  
  181.    public abstract boolean equals(Object var1);
  182.  
  183.    public abstract boolean before(Object var1);
  184.  
  185.    public abstract boolean after(Object var1);
  186.  
  187.    public abstract void add(int var1, int var2);
  188.  
  189.    public abstract void roll(int var1, boolean var2);
  190.  
  191.    public void setTimeZone(TimeZone var1) {
  192.       this.zone = var1;
  193.    }
  194.  
  195.    public TimeZone getTimeZone() {
  196.       return this.zone;
  197.    }
  198.  
  199.    public void setLenient(boolean var1) {
  200.       this.lenient = var1;
  201.    }
  202.  
  203.    public boolean isLenient() {
  204.       return this.lenient;
  205.    }
  206.  
  207.    public void setFirstDayOfWeek(int var1) {
  208.       this.firstDayOfWeek = var1;
  209.    }
  210.  
  211.    public int getFirstDayOfWeek() {
  212.       return this.firstDayOfWeek;
  213.    }
  214.  
  215.    public void setMinimalDaysInFirstWeek(int var1) {
  216.       this.minimalDaysInFirstWeek = var1;
  217.    }
  218.  
  219.    public int getMinimalDaysInFirstWeek() {
  220.       return this.minimalDaysInFirstWeek;
  221.    }
  222.  
  223.    public abstract int getMinimum(int var1);
  224.  
  225.    public abstract int getMaximum(int var1);
  226.  
  227.    public abstract int getGreatestMinimum(int var1);
  228.  
  229.    public abstract int getLeastMaximum(int var1);
  230.  
  231.    public Object clone() {
  232.       try {
  233.          Calendar var1 = (Calendar)super.clone();
  234.          var1.fields = new int[17];
  235.          var1.isSet = new boolean[17];
  236.          System.arraycopy(this.fields, 0, var1.fields, 0, 17);
  237.          System.arraycopy(this.isSet, 0, var1.isSet, 0, 17);
  238.          var1.zone = (TimeZone)this.zone.clone();
  239.          return var1;
  240.       } catch (CloneNotSupportedException var2) {
  241.          throw new InternalError();
  242.       }
  243.    }
  244.  
  245.    private void setWeekCountData(Locale var1) {
  246.       Class var2 = this.getClass();
  247.       synchronized(var2){}
  248.  
  249.       try {
  250.          if (var1 != localeCache || localeCache == null) {
  251.             ResourceBundle var4 = ResourceBundle.getBundle("java.text.resources.LocaleElements", var1);
  252.             String[] var5 = var4.getStringArray("DateTimeElements");
  253.             localeCache = var1;
  254.             firstDayOfWeekCache = Integer.parseInt(var5[0]);
  255.             minimalDaysInFirstWeekCache = Integer.parseInt(var5[1]);
  256.          }
  257.  
  258.          this.firstDayOfWeek = firstDayOfWeekCache;
  259.          this.minimalDaysInFirstWeek = minimalDaysInFirstWeekCache;
  260.       } catch (Throwable var7) {
  261.          throw var7;
  262.       }
  263.  
  264.    }
  265. }
  266.