home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / VPage / Java.bin / CLASSES.ZIP / java / util / Calendar.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-07-08  |  5.4 KB  |  249 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.  
  60.    protected Calendar() {
  61.       this.zone = TimeZone.getDefault();
  62.       this.setWeekCountData(Locale.getDefault());
  63.    }
  64.  
  65.    protected Calendar(TimeZone var1, Locale var2) {
  66.       this.zone = var1;
  67.       this.setWeekCountData(var2);
  68.    }
  69.  
  70.    public static synchronized Calendar getInstance() {
  71.       return new GregorianCalendar();
  72.    }
  73.  
  74.    public static synchronized Calendar getInstance(TimeZone var0) {
  75.       return new GregorianCalendar(var0, Locale.getDefault());
  76.    }
  77.  
  78.    public static synchronized Calendar getInstance(Locale var0) {
  79.       return new GregorianCalendar(TimeZone.getDefault(), var0);
  80.    }
  81.  
  82.    public static synchronized Calendar getInstance(TimeZone var0, Locale var1) {
  83.       return new GregorianCalendar(var0, var1);
  84.    }
  85.  
  86.    public static synchronized Locale[] getAvailableLocales() {
  87.       return DateFormat.getAvailableLocales();
  88.    }
  89.  
  90.    protected abstract void computeTime();
  91.  
  92.    protected abstract void computeFields();
  93.  
  94.    public final Date getTime() {
  95.       return new Date(this.getTimeInMillis());
  96.    }
  97.  
  98.    public final void setTime(Date var1) {
  99.       this.setTimeInMillis(var1.getTime());
  100.    }
  101.  
  102.    protected long getTimeInMillis() {
  103.       if (!this.isTimeSet) {
  104.          this.computeTime();
  105.       }
  106.  
  107.       return this.time;
  108.    }
  109.  
  110.    protected void setTimeInMillis(long var1) {
  111.       this.areFieldsSet = false;
  112.       this.isTimeSet = true;
  113.       this.time = var1;
  114.    }
  115.  
  116.    public final int get(int var1) {
  117.       if (!this.areFieldsSet) {
  118.          this.computeFields();
  119.       }
  120.  
  121.       return this.fields[var1];
  122.    }
  123.  
  124.    protected final int internalGet(int var1) {
  125.       return this.fields[var1];
  126.    }
  127.  
  128.    public final void set(int var1, int var2) {
  129.       this.isTimeSet = false;
  130.       this.fields[var1] = var2;
  131.       this.isSet[var1] = true;
  132.       this.areFieldsSet = true;
  133.    }
  134.  
  135.    public final void set(int var1, int var2, int var3) {
  136.       this.set(1, var1);
  137.       this.set(2, var2);
  138.       this.set(5, var3);
  139.    }
  140.  
  141.    public final void set(int var1, int var2, int var3, int var4, int var5) {
  142.       this.set(1, var1);
  143.       this.set(2, var2);
  144.       this.set(5, var3);
  145.       this.set(11, var4);
  146.       this.set(12, var5);
  147.    }
  148.  
  149.    public final void set(int var1, int var2, int var3, int var4, int var5, int var6) {
  150.       this.set(1, var1);
  151.       this.set(2, var2);
  152.       this.set(5, var3);
  153.       this.set(11, var4);
  154.       this.set(12, var5);
  155.       this.set(13, var6);
  156.    }
  157.  
  158.    public final void clear() {
  159.       this.isSet = new boolean[17];
  160.       this.fields = new int[17];
  161.       this.areFieldsSet = false;
  162.    }
  163.  
  164.    public final void clear(int var1) {
  165.       this.isSet[var1] = false;
  166.       this.fields[var1] = 0;
  167.    }
  168.  
  169.    public final boolean isSet(int var1) {
  170.       return this.isSet[var1];
  171.    }
  172.  
  173.    protected void complete() {
  174.       this.computeTime();
  175.       this.computeFields();
  176.    }
  177.  
  178.    public abstract boolean equals(Object var1);
  179.  
  180.    public abstract boolean before(Object var1);
  181.  
  182.    public abstract boolean after(Object var1);
  183.  
  184.    public abstract void add(int var1, int var2);
  185.  
  186.    public abstract void roll(int var1, boolean var2);
  187.  
  188.    public void setTimeZone(TimeZone var1) {
  189.       this.zone = var1;
  190.    }
  191.  
  192.    public TimeZone getTimeZone() {
  193.       return this.zone;
  194.    }
  195.  
  196.    public void setLenient(boolean var1) {
  197.       this.lenient = var1;
  198.    }
  199.  
  200.    public boolean isLenient() {
  201.       return this.lenient;
  202.    }
  203.  
  204.    public void setFirstDayOfWeek(int var1) {
  205.       this.firstDayOfWeek = var1;
  206.    }
  207.  
  208.    public int getFirstDayOfWeek() {
  209.       return this.firstDayOfWeek;
  210.    }
  211.  
  212.    public void setMinimalDaysInFirstWeek(int var1) {
  213.       this.minimalDaysInFirstWeek = var1;
  214.    }
  215.  
  216.    public int getMinimalDaysInFirstWeek() {
  217.       return this.minimalDaysInFirstWeek;
  218.    }
  219.  
  220.    public abstract int getMinimum(int var1);
  221.  
  222.    public abstract int getMaximum(int var1);
  223.  
  224.    public abstract int getGreatestMinimum(int var1);
  225.  
  226.    public abstract int getLeastMaximum(int var1);
  227.  
  228.    public Object clone() {
  229.       try {
  230.          Calendar var1 = (Calendar)super.clone();
  231.          var1.fields = new int[17];
  232.          var1.isSet = new boolean[17];
  233.          System.arraycopy(this.fields, 0, var1.fields, 0, 17);
  234.          System.arraycopy(this.isSet, 0, var1.isSet, 0, 17);
  235.          var1.zone = (TimeZone)this.zone.clone();
  236.          return var1;
  237.       } catch (CloneNotSupportedException var2) {
  238.          throw new InternalError();
  239.       }
  240.    }
  241.  
  242.    private void setWeekCountData(Locale var1) {
  243.       ResourceBundle var2 = ResourceBundle.getBundle("java.text.resources.LocaleElements", var1);
  244.       String[] var3 = var2.getStringArray("DateTimeElements");
  245.       this.firstDayOfWeek = Integer.parseInt(var3[0]);
  246.       this.minimalDaysInFirstWeek = Integer.parseInt(var3[1]);
  247.    }
  248. }
  249.