home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1999 April / DPPCPRO0499.ISO / April / Notes / 50b2wic.exe / DATA1.CAB / NotesProgramFilesJavaSupport / rt.jar / java / sql / Timestamp.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-04-23  |  3.5 KB  |  196 lines

  1. package java.sql;
  2.  
  3. import java.util.Date;
  4.  
  5. public class Timestamp extends Date {
  6.    private int nanos;
  7.  
  8.    public Timestamp(int var1, int var2, int var3, int var4, int var5, int var6, int var7) {
  9.       super(var1, var2, var3, var4, var5, var6);
  10.       if (var7 <= 999999999 && var7 >= 0) {
  11.          this.nanos = var7;
  12.       } else {
  13.          throw new IllegalArgumentException("nanos > 999999999 or < 0");
  14.       }
  15.    }
  16.  
  17.    public Timestamp(long var1) {
  18.       super(var1 / 1000L * 1000L);
  19.       this.nanos = (int)(var1 % 1000L * 1000000L);
  20.       if (this.nanos < 0) {
  21.          this.nanos += 1000000000;
  22.          ((Date)this).setTime((var1 / 1000L - 1L) * 1000L);
  23.       }
  24.  
  25.    }
  26.  
  27.    public static Timestamp valueOf(String var0) {
  28.       int var10 = 0;
  29.       int var14 = 0;
  30.       int var15 = 0;
  31.       int var16 = 0;
  32.       String var17 = "Timestamp format must be yyyy-mm-dd hh:mm:ss.fffffffff";
  33.       String var18 = "000000000";
  34.       if (var0 == null) {
  35.          throw new IllegalArgumentException("null string");
  36.       } else {
  37.          var0 = var0.trim();
  38.          int var13 = var0.indexOf(32);
  39.          if (var13 > 0) {
  40.             String var1 = var0.substring(0, var13);
  41.             String var2 = var0.substring(var13 + 1);
  42.             int var11 = var1.indexOf(45);
  43.             int var12 = var1.indexOf(45, var11 + 1);
  44.             if (var2 == null) {
  45.                throw new IllegalArgumentException(var17);
  46.             } else {
  47.                var14 = var2.indexOf(58);
  48.                var15 = var2.indexOf(58, var14 + 1);
  49.                var16 = var2.indexOf(46, var15 + 1);
  50.                if (var11 > 0 & var12 > 0 & var12 < var1.length() - 1) {
  51.                   int var4 = Integer.parseInt(var1.substring(0, var11)) - 1900;
  52.                   int var5 = Integer.parseInt(var1.substring(var11 + 1, var12)) - 1;
  53.                   int var6 = Integer.parseInt(var1.substring(var12 + 1));
  54.                   if (var14 > 0 & var15 > 0 & var15 < var2.length() - 1) {
  55.                      int var7 = Integer.parseInt(var2.substring(0, var14));
  56.                      int var8 = Integer.parseInt(var2.substring(var14 + 1, var15));
  57.                      int var9;
  58.                      if (var16 > 0 & var16 < var2.length() - 1) {
  59.                         var9 = Integer.parseInt(var2.substring(var15 + 1, var16));
  60.                         String var3 = var2.substring(var16 + 1);
  61.                         if (var3.length() > 9) {
  62.                            throw new IllegalArgumentException(var17);
  63.                         }
  64.  
  65.                         if (!Character.isDigit(var3.charAt(0))) {
  66.                            throw new IllegalArgumentException(var17);
  67.                         }
  68.  
  69.                         var3 = var3 + var18.substring(0, 9 - var3.length());
  70.                         var10 = Integer.parseInt(var3);
  71.                      } else {
  72.                         if (var16 > 0) {
  73.                            throw new IllegalArgumentException(var17);
  74.                         }
  75.  
  76.                         var9 = Integer.parseInt(var2.substring(var15 + 1));
  77.                      }
  78.  
  79.                      return new Timestamp(var4, var5, var6, var7, var8, var9, var10);
  80.                   } else {
  81.                      throw new IllegalArgumentException();
  82.                   }
  83.                } else {
  84.                   throw new IllegalArgumentException(var17);
  85.                }
  86.             }
  87.          } else {
  88.             throw new IllegalArgumentException(var17);
  89.          }
  90.       }
  91.    }
  92.  
  93.    public String toString() {
  94.       int var1 = super.getYear() + 1900;
  95.       int var2 = super.getMonth() + 1;
  96.       int var3 = super.getDate();
  97.       int var4 = super.getHours();
  98.       int var5 = super.getMinutes();
  99.       int var6 = super.getSeconds();
  100.       String var14 = "000000000";
  101.       String var7 = String.valueOf(var1);
  102.       String var8;
  103.       if (var2 < 10) {
  104.          var8 = "0" + var2;
  105.       } else {
  106.          var8 = Integer.toString(var2);
  107.       }
  108.  
  109.       String var9;
  110.       if (var3 < 10) {
  111.          var9 = "0" + var3;
  112.       } else {
  113.          var9 = Integer.toString(var3);
  114.       }
  115.  
  116.       String var10;
  117.       if (var4 < 10) {
  118.          var10 = "0" + var4;
  119.       } else {
  120.          var10 = Integer.toString(var4);
  121.       }
  122.  
  123.       String var11;
  124.       if (var5 < 10) {
  125.          var11 = "0" + var5;
  126.       } else {
  127.          var11 = Integer.toString(var5);
  128.       }
  129.  
  130.       String var12;
  131.       if (var6 < 10) {
  132.          var12 = "0" + var6;
  133.       } else {
  134.          var12 = Integer.toString(var6);
  135.       }
  136.  
  137.       String var13;
  138.       if (this.nanos == 0) {
  139.          var13 = "0";
  140.       } else {
  141.          var13 = Integer.toString(this.nanos);
  142.          var13 = var14.substring(0, 9 - var13.length()) + var13;
  143.          char[] var15 = new char[var13.length()];
  144.          var13.getChars(0, var13.length(), var15, 0);
  145.  
  146.          int var16;
  147.          for(var16 = 8; var15[var16] == '0'; --var16) {
  148.          }
  149.  
  150.          var13 = new String(var15, 0, var16 + 1);
  151.       }
  152.  
  153.       return var7 + "-" + var8 + "-" + var9 + " " + var10 + ":" + var11 + ":" + var12 + "." + var13;
  154.    }
  155.  
  156.    public int getNanos() {
  157.       return this.nanos;
  158.    }
  159.  
  160.    public void setNanos(int var1) {
  161.       if (var1 <= 999999999 && var1 >= 0) {
  162.          this.nanos = var1;
  163.       } else {
  164.          throw new IllegalArgumentException("nanos > 999999999 or < 0");
  165.       }
  166.    }
  167.  
  168.    public boolean equals(Timestamp var1) {
  169.       if (super.equals(var1)) {
  170.          return this.nanos == var1.nanos;
  171.       } else {
  172.          return false;
  173.       }
  174.    }
  175.  
  176.    public boolean before(Timestamp var1) {
  177.       if (super.before(var1)) {
  178.          return true;
  179.       } else if (super.equals(var1)) {
  180.          return this.nanos < var1.nanos;
  181.       } else {
  182.          return false;
  183.       }
  184.    }
  185.  
  186.    public boolean after(Timestamp var1) {
  187.       if (super.after(var1)) {
  188.          return true;
  189.       } else if (super.equals(var1)) {
  190.          return this.nanos > var1.nanos;
  191.       } else {
  192.          return false;
  193.       }
  194.    }
  195. }
  196.