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 / java / sql / Timestamp.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  3.7 KB  |  268 lines

  1. package java.sql;
  2.  
  3. import java.util.Date;
  4. import java.util.StringTokenizer;
  5.  
  6. public class Timestamp extends Date {
  7.    private int nanos;
  8.    static final long serialVersionUID = 2745179027874758501L;
  9.  
  10.    /** @deprecated */
  11.    @Deprecated
  12.    public Timestamp(int var1, int var2, int var3, int var4, int var5, int var6, int var7) {
  13.       super(var1, var2, var3, var4, var5, var6);
  14.       if (var7 <= 999999999 && var7 >= 0) {
  15.          this.nanos = var7;
  16.       } else {
  17.          throw new IllegalArgumentException("nanos > 999999999 or < 0");
  18.       }
  19.    }
  20.  
  21.    public Timestamp(long var1) {
  22.       super(var1 / 1000L * 1000L);
  23.       this.nanos = (int)(var1 % 1000L * 1000000L);
  24.       if (this.nanos < 0) {
  25.          this.nanos += 1000000000;
  26.          super.setTime((var1 / 1000L - 1L) * 1000L);
  27.       }
  28.  
  29.    }
  30.  
  31.    public void setTime(long var1) {
  32.       super.setTime(var1 / 1000L * 1000L);
  33.       this.nanos = (int)(var1 % 1000L * 1000000L);
  34.       if (this.nanos < 0) {
  35.          this.nanos += 1000000000;
  36.          super.setTime((var1 / 1000L - 1L) * 1000L);
  37.       }
  38.  
  39.    }
  40.  
  41.    public long getTime() {
  42.       long var1 = super.getTime();
  43.       return var1 + (long)(this.nanos / 1000000);
  44.    }
  45.  
  46.    public static Timestamp valueOf(String var0) {
  47.       int var10 = 0;
  48.       int var14 = 0;
  49.       int var15 = 0;
  50.       int var16 = 0;
  51.       String var17 = "Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]";
  52.       String var18 = "000000000";
  53.       String var19 = "-";
  54.       String var20 = ":";
  55.       if (var0 == null) {
  56.          throw new IllegalArgumentException("null string");
  57.       } else {
  58.          int var23 = 0;
  59.          int[] var24 = new int[]{4, 2, 2};
  60.          boolean var25 = false;
  61.          int[] var10000 = new int[]{2, 2, 12};
  62.          var0 = var0.trim();
  63.          int var13 = var0.indexOf(32);
  64.          if (var13 > 0) {
  65.             String var1 = var0.substring(0, var13);
  66.             String var2 = var0.substring(var13 + 1);
  67.             new StringTokenizer(var2, var20);
  68.  
  69.             for(StringTokenizer var21 = new StringTokenizer(var1, var19); var21.hasMoreTokens(); ++var23) {
  70.                String var27 = var21.nextToken();
  71.                if (var27.length() != var24[var23]) {
  72.                   throw new IllegalArgumentException(var17);
  73.                }
  74.             }
  75.  
  76.             int var11 = var1.indexOf(45);
  77.             int var12 = var1.indexOf(45, var11 + 1);
  78.             if (var2 == null) {
  79.                throw new IllegalArgumentException(var17);
  80.             } else {
  81.                var14 = var2.indexOf(58);
  82.                var15 = var2.indexOf(58, var14 + 1);
  83.                var16 = var2.indexOf(46, var15 + 1);
  84.                if (var11 > 0 && var12 > 0 && var12 < var1.length() - 1) {
  85.                   int var4 = Integer.parseInt(var1.substring(0, var11)) - 1900;
  86.                   int var5 = Integer.parseInt(var1.substring(var11 + 1, var12)) - 1;
  87.                   int var6 = Integer.parseInt(var1.substring(var12 + 1));
  88.                   if (var14 > 0 & var15 > 0 & var15 < var2.length() - 1) {
  89.                      int var7 = Integer.parseInt(var2.substring(0, var14));
  90.                      int var8 = Integer.parseInt(var2.substring(var14 + 1, var15));
  91.                      int var9;
  92.                      if (var16 > 0 & var16 < var2.length() - 1) {
  93.                         var9 = Integer.parseInt(var2.substring(var15 + 1, var16));
  94.                         String var3 = var2.substring(var16 + 1);
  95.                         if (var3.length() > 9) {
  96.                            throw new IllegalArgumentException(var17);
  97.                         }
  98.  
  99.                         if (!Character.isDigit(var3.charAt(0))) {
  100.                            throw new IllegalArgumentException(var17);
  101.                         }
  102.  
  103.                         var3 = var3 + var18.substring(0, 9 - var3.length());
  104.                         var10 = Integer.parseInt(var3);
  105.                      } else {
  106.                         if (var16 > 0) {
  107.                            throw new IllegalArgumentException(var17);
  108.                         }
  109.  
  110.                         var9 = Integer.parseInt(var2.substring(var15 + 1));
  111.                      }
  112.  
  113.                      return new Timestamp(var4, var5, var6, var7, var8, var9, var10);
  114.                   } else {
  115.                      throw new IllegalArgumentException();
  116.                   }
  117.                } else {
  118.                   throw new IllegalArgumentException(var17);
  119.                }
  120.             }
  121.          } else {
  122.             throw new IllegalArgumentException(var17);
  123.          }
  124.       }
  125.    }
  126.  
  127.    public String toString() {
  128.       int var1 = super.getYear() + 1900;
  129.       int var2 = super.getMonth() + 1;
  130.       int var3 = super.getDate();
  131.       int var4 = super.getHours();
  132.       int var5 = super.getMinutes();
  133.       int var6 = super.getSeconds();
  134.       String var14 = "000000000";
  135.       String var15 = "0000";
  136.       String var19;
  137.       if (var1 < 1000) {
  138.          var19 = "" + var1;
  139.          var19 = var15.substring(0, 4 - var19.length()) + var19;
  140.       } else {
  141.          var19 = "" + var1;
  142.       }
  143.  
  144.       String var8;
  145.       if (var2 < 10) {
  146.          var8 = "0" + var2;
  147.       } else {
  148.          var8 = Integer.toString(var2);
  149.       }
  150.  
  151.       String var9;
  152.       if (var3 < 10) {
  153.          var9 = "0" + var3;
  154.       } else {
  155.          var9 = Integer.toString(var3);
  156.       }
  157.  
  158.       String var10;
  159.       if (var4 < 10) {
  160.          var10 = "0" + var4;
  161.       } else {
  162.          var10 = Integer.toString(var4);
  163.       }
  164.  
  165.       String var11;
  166.       if (var5 < 10) {
  167.          var11 = "0" + var5;
  168.       } else {
  169.          var11 = Integer.toString(var5);
  170.       }
  171.  
  172.       String var12;
  173.       if (var6 < 10) {
  174.          var12 = "0" + var6;
  175.       } else {
  176.          var12 = Integer.toString(var6);
  177.       }
  178.  
  179.       String var13;
  180.       if (this.nanos == 0) {
  181.          var13 = "0";
  182.       } else {
  183.          var13 = Integer.toString(this.nanos);
  184.          var13 = var14.substring(0, 9 - var13.length()) + var13;
  185.          char[] var17 = new char[var13.length()];
  186.          var13.getChars(0, var13.length(), var17, 0);
  187.  
  188.          int var18;
  189.          for(var18 = 8; var17[var18] == '0'; --var18) {
  190.          }
  191.  
  192.          var13 = new String(var17, 0, var18 + 1);
  193.       }
  194.  
  195.       StringBuffer var16 = new StringBuffer(20 + var13.length());
  196.       var16.append(var19);
  197.       var16.append("-");
  198.       var16.append(var8);
  199.       var16.append("-");
  200.       var16.append(var9);
  201.       var16.append(" ");
  202.       var16.append(var10);
  203.       var16.append(":");
  204.       var16.append(var11);
  205.       var16.append(":");
  206.       var16.append(var12);
  207.       var16.append(".");
  208.       var16.append(var13);
  209.       return var16.toString();
  210.    }
  211.  
  212.    public int getNanos() {
  213.       return this.nanos;
  214.    }
  215.  
  216.    public void setNanos(int var1) {
  217.       if (var1 <= 999999999 && var1 >= 0) {
  218.          this.nanos = var1;
  219.       } else {
  220.          throw new IllegalArgumentException("nanos > 999999999 or < 0");
  221.       }
  222.    }
  223.  
  224.    public boolean equals(Timestamp var1) {
  225.       if (super.equals(var1)) {
  226.          return this.nanos == var1.nanos;
  227.       } else {
  228.          return false;
  229.       }
  230.    }
  231.  
  232.    public boolean equals(Object var1) {
  233.       return var1 instanceof Timestamp ? this.equals((Timestamp)var1) : false;
  234.    }
  235.  
  236.    public boolean before(Timestamp var1) {
  237.       return this.compareTo(var1) < 0;
  238.    }
  239.  
  240.    public boolean after(Timestamp var1) {
  241.       return this.compareTo(var1) > 0;
  242.    }
  243.  
  244.    public int compareTo(Timestamp var1) {
  245.       int var2 = super.compareTo(var1);
  246.       if (var2 == 0) {
  247.          if (this.nanos > var1.nanos) {
  248.             return 1;
  249.          }
  250.  
  251.          if (this.nanos < var1.nanos) {
  252.             return -1;
  253.          }
  254.       }
  255.  
  256.       return var2;
  257.    }
  258.  
  259.    public int compareTo(Date var1) {
  260.       if (var1 instanceof Timestamp) {
  261.          return this.compareTo((Timestamp)var1);
  262.       } else {
  263.          Timestamp var2 = new Timestamp(var1.getTime());
  264.          return this.compareTo(var2);
  265.       }
  266.    }
  267. }
  268.