home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / javax / swing / SpinnerDateModel.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  2.1 KB  |  142 lines

  1. package javax.swing;
  2.  
  3. import java.io.Serializable;
  4. import java.util.Calendar;
  5. import java.util.Date;
  6.  
  7. public class SpinnerDateModel extends AbstractSpinnerModel implements Serializable {
  8.    private Comparable start;
  9.    private Comparable end;
  10.    private Calendar value;
  11.    private int calendarField;
  12.  
  13.    private boolean calendarFieldOK(int var1) {
  14.       switch (var1) {
  15.          case 0:
  16.          case 1:
  17.          case 2:
  18.          case 3:
  19.          case 4:
  20.          case 5:
  21.          case 6:
  22.          case 7:
  23.          case 8:
  24.          case 9:
  25.          case 10:
  26.          case 11:
  27.          case 12:
  28.          case 13:
  29.          case 14:
  30.             return true;
  31.          default:
  32.             return false;
  33.       }
  34.    }
  35.  
  36.    public SpinnerDateModel(Date var1, Comparable var2, Comparable var3, int var4) {
  37.       if (var1 == null) {
  38.          throw new IllegalArgumentException("value is null");
  39.       } else if (!this.calendarFieldOK(var4)) {
  40.          throw new IllegalArgumentException("invalid calendarField");
  41.       } else if ((var2 == null || var2.compareTo(var1) <= 0) && (var3 == null || var3.compareTo(var1) >= 0)) {
  42.          this.value = Calendar.getInstance();
  43.          this.start = var2;
  44.          this.end = var3;
  45.          this.calendarField = var4;
  46.          this.value.setTime(var1);
  47.       } else {
  48.          throw new IllegalArgumentException("(start <= value <= end) is false");
  49.       }
  50.    }
  51.  
  52.    public SpinnerDateModel() {
  53.       this(new Date(), (Comparable)null, (Comparable)null, 5);
  54.    }
  55.  
  56.    public void setStart(Comparable var1) {
  57.       if (var1 == null) {
  58.          if (this.start == null) {
  59.             return;
  60.          }
  61.       } else if (var1.equals(this.start)) {
  62.          return;
  63.       }
  64.  
  65.       this.start = var1;
  66.       this.fireStateChanged();
  67.    }
  68.  
  69.    public Comparable getStart() {
  70.       return this.start;
  71.    }
  72.  
  73.    public void setEnd(Comparable var1) {
  74.       if (var1 == null) {
  75.          if (this.end == null) {
  76.             return;
  77.          }
  78.       } else if (var1.equals(this.end)) {
  79.          return;
  80.       }
  81.  
  82.       this.end = var1;
  83.       this.fireStateChanged();
  84.    }
  85.  
  86.    public Comparable getEnd() {
  87.       return this.end;
  88.    }
  89.  
  90.    public void setCalendarField(int var1) {
  91.       if (!this.calendarFieldOK(var1)) {
  92.          throw new IllegalArgumentException("invalid calendarField");
  93.       } else {
  94.          if (var1 != this.calendarField) {
  95.             this.calendarField = var1;
  96.             this.fireStateChanged();
  97.          }
  98.  
  99.       }
  100.    }
  101.  
  102.    public int getCalendarField() {
  103.       return this.calendarField;
  104.    }
  105.  
  106.    public Object getNextValue() {
  107.       Calendar var1 = Calendar.getInstance();
  108.       var1.setTime(this.value.getTime());
  109.       var1.add(this.calendarField, 1);
  110.       Date var2 = var1.getTime();
  111.       return this.end != null && this.end.compareTo(var2) < 0 ? null : var2;
  112.    }
  113.  
  114.    public Object getPreviousValue() {
  115.       Calendar var1 = Calendar.getInstance();
  116.       var1.setTime(this.value.getTime());
  117.       var1.add(this.calendarField, -1);
  118.       Date var2 = var1.getTime();
  119.       return this.start != null && this.start.compareTo(var2) > 0 ? null : var2;
  120.    }
  121.  
  122.    public Date getDate() {
  123.       return this.value.getTime();
  124.    }
  125.  
  126.    public Object getValue() {
  127.       return this.value.getTime();
  128.    }
  129.  
  130.    public void setValue(Object var1) {
  131.       if (var1 != null && var1 instanceof Date) {
  132.          if (!var1.equals(this.value.getTime())) {
  133.             this.value.setTime((Date)var1);
  134.             this.fireStateChanged();
  135.          }
  136.  
  137.       } else {
  138.          throw new IllegalArgumentException("illegal value");
  139.       }
  140.    }
  141. }
  142.