home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1998 January / PCO0198.ISO / browser / net_linx / java40.jar / java / text / DateFormat.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-03  |  4.6 KB  |  180 lines

  1. package java.text;
  2.  
  3. import java.text.resources.LocaleData;
  4. import java.util.Calendar;
  5. import java.util.Date;
  6. import java.util.Locale;
  7. import java.util.MissingResourceException;
  8. import java.util.ResourceBundle;
  9. import java.util.TimeZone;
  10.  
  11. public abstract class DateFormat extends Format implements Cloneable {
  12.    protected Calendar calendar;
  13.    protected NumberFormat numberFormat;
  14.    public static final int ERA_FIELD = 0;
  15.    public static final int YEAR_FIELD = 1;
  16.    public static final int MONTH_FIELD = 2;
  17.    public static final int DATE_FIELD = 3;
  18.    public static final int HOUR_OF_DAY1_FIELD = 4;
  19.    public static final int HOUR_OF_DAY0_FIELD = 5;
  20.    public static final int MINUTE_FIELD = 6;
  21.    public static final int SECOND_FIELD = 7;
  22.    public static final int MILLISECOND_FIELD = 8;
  23.    public static final int DAY_OF_WEEK_FIELD = 9;
  24.    public static final int DAY_OF_YEAR_FIELD = 10;
  25.    public static final int DAY_OF_WEEK_IN_MONTH_FIELD = 11;
  26.    public static final int WEEK_OF_YEAR_FIELD = 12;
  27.    public static final int WEEK_OF_MONTH_FIELD = 13;
  28.    public static final int AM_PM_FIELD = 14;
  29.    public static final int HOUR1_FIELD = 15;
  30.    public static final int HOUR0_FIELD = 16;
  31.    public static final int TIMEZONE_FIELD = 17;
  32.    public static final int FULL = 0;
  33.    public static final int LONG = 1;
  34.    public static final int MEDIUM = 2;
  35.    public static final int SHORT = 3;
  36.    public static final int DEFAULT = 2;
  37.  
  38.    public final StringBuffer format(Object var1, StringBuffer var2, FieldPosition var3) {
  39.       if (var1 instanceof Number) {
  40.          return this.format(new Date(((Number)var1).longValue()), var2, var3);
  41.       } else if (var1 instanceof Date) {
  42.          return this.format((Date)var1, var2, var3);
  43.       } else {
  44.          throw new IllegalArgumentException("Cannot format given Object as a Date");
  45.       }
  46.    }
  47.  
  48.    public abstract StringBuffer format(Date var1, StringBuffer var2, FieldPosition var3);
  49.  
  50.    public final String format(Date var1) {
  51.       return this.format(var1, new StringBuffer(), new FieldPosition(0)).toString();
  52.    }
  53.  
  54.    public Date parse(String var1) throws ParseException {
  55.       ParsePosition var2 = new ParsePosition(0);
  56.       Date var3 = this.parse(var1, var2);
  57.       if (var2.index == 0) {
  58.          throw new ParseException("Unparseable date: \"" + var1 + "\"", 0);
  59.       } else {
  60.          return var3;
  61.       }
  62.    }
  63.  
  64.    public abstract Date parse(String var1, ParsePosition var2);
  65.  
  66.    public Object parseObject(String var1, ParsePosition var2) {
  67.       return this.parse(var1, var2);
  68.    }
  69.  
  70.    public static final DateFormat getTimeInstance() {
  71.       return get(2, -1, Locale.getDefault());
  72.    }
  73.  
  74.    public static final DateFormat getTimeInstance(int var0) {
  75.       return get(var0, -1, Locale.getDefault());
  76.    }
  77.  
  78.    public static final DateFormat getTimeInstance(int var0, Locale var1) {
  79.       return get(var0, -1, var1);
  80.    }
  81.  
  82.    public static final DateFormat getDateInstance() {
  83.       return get(-1, 6, Locale.getDefault());
  84.    }
  85.  
  86.    public static final DateFormat getDateInstance(int var0) {
  87.       return get(-1, var0 + 4, Locale.getDefault());
  88.    }
  89.  
  90.    public static final DateFormat getDateInstance(int var0, Locale var1) {
  91.       return get(-1, var0 + 4, var1);
  92.    }
  93.  
  94.    public static final DateFormat getDateTimeInstance() {
  95.       return get(2, 6, Locale.getDefault());
  96.    }
  97.  
  98.    public static final DateFormat getDateTimeInstance(int var0, int var1) {
  99.       return get(var1, var0 + 4, Locale.getDefault());
  100.    }
  101.  
  102.    public static final DateFormat getDateTimeInstance(int var0, int var1, Locale var2) {
  103.       return get(var1, var0 + 4, var2);
  104.    }
  105.  
  106.    public static final DateFormat getInstance() {
  107.       return getDateTimeInstance(3, 3);
  108.    }
  109.  
  110.    public static Locale[] getAvailableLocales() {
  111.       return LocaleData.getAvailableLocales("DateTimePatterns");
  112.    }
  113.  
  114.    public void setCalendar(Calendar var1) {
  115.       this.calendar = var1;
  116.    }
  117.  
  118.    public Calendar getCalendar() {
  119.       return this.calendar;
  120.    }
  121.  
  122.    public void setNumberFormat(NumberFormat var1) {
  123.       this.numberFormat = var1;
  124.    }
  125.  
  126.    public NumberFormat getNumberFormat() {
  127.       return this.numberFormat;
  128.    }
  129.  
  130.    public void setTimeZone(TimeZone var1) {
  131.       this.calendar.setTimeZone(var1);
  132.    }
  133.  
  134.    public TimeZone getTimeZone() {
  135.       return this.calendar.getTimeZone();
  136.    }
  137.  
  138.    public void setLenient(boolean var1) {
  139.       this.calendar.setLenient(var1);
  140.    }
  141.  
  142.    public boolean isLenient() {
  143.       return this.calendar.isLenient();
  144.    }
  145.  
  146.    public int hashCode() {
  147.       return this.numberFormat.hashCode();
  148.    }
  149.  
  150.    public boolean equals(Object var1) {
  151.       if (this == var1) {
  152.          return true;
  153.       } else if (this.getClass() != var1.getClass()) {
  154.          return false;
  155.       } else {
  156.          DateFormat var2 = (DateFormat)var1;
  157.          return this.calendar.equals(var2.calendar) && this.numberFormat.equals(var2.numberFormat);
  158.       }
  159.    }
  160.  
  161.    public Object clone() {
  162.       DateFormat var1 = (DateFormat)super.clone();
  163.       var1.calendar = (Calendar)this.calendar.clone();
  164.       var1.numberFormat = (NumberFormat)this.numberFormat.clone();
  165.       return var1;
  166.    }
  167.  
  168.    private static DateFormat get(int var0, int var1, Locale var2) {
  169.       try {
  170.          ResourceBundle.getBundle("java.text.resources.LocaleElements", var2);
  171.          return new SimpleDateFormat(var0, var1, var2);
  172.       } catch (MissingResourceException var3) {
  173.          return new SimpleDateFormat("M/d/yy h:mm a");
  174.       }
  175.    }
  176.  
  177.    protected DateFormat() {
  178.    }
  179. }
  180.