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

  1. package sun.jdbc.odbc;
  2.  
  3. import java.io.PrintStream;
  4. import java.sql.DriverManager;
  5.  
  6. public class JdbcOdbcObject {
  7.    protected static boolean isTracing() {
  8.       return DriverManager.getLogStream() != null;
  9.    }
  10.  
  11.    protected static void trace(String var0) {
  12.       PrintStream var1 = DriverManager.getLogStream();
  13.       if (var1 != null) {
  14.          var1.println(var0);
  15.       }
  16.  
  17.    }
  18.  
  19.    protected static void trace(String var0, boolean var1) {
  20.       if (var1) {
  21.          trace(var0);
  22.       }
  23.  
  24.       PrintStream var2 = DriverManager.getLogStream();
  25.       if (var2 != null) {
  26.          var2.print(var0);
  27.       }
  28.  
  29.    }
  30.  
  31.    protected static void dumpByte(byte[] var0, int var1) {
  32.       trace("Dump (" + var1 + " bytes):");
  33.  
  34.       for(int var2 = 0; var2 * 16 < var1; ++var2) {
  35.          String var4 = toHex(var2 * 16);
  36.          trace(" " + hexPad(var4, 8) + "  ", false);
  37.          String var6 = "";
  38.  
  39.          for(int var3 = 0; var3 < 16; ++var3) {
  40.             int var5 = var2 * 16 + var3;
  41.             if (var5 >= var1) {
  42.                var4 = "  ";
  43.                var6 = var6 + " ";
  44.             } else {
  45.                var4 = toHex(var0[var5]);
  46.                var4 = hexPad(var4, 2);
  47.                if (var0[var5] >= 32 && var0[var5] <= 128) {
  48.                   var6 = var6 + new String(var0, 0, var5, 1);
  49.                } else {
  50.                   var6 = var6 + ".";
  51.                }
  52.             }
  53.  
  54.             trace(var4 + " ", false);
  55.          }
  56.  
  57.          trace("   " + var6);
  58.       }
  59.  
  60.    }
  61.  
  62.    public static String hexPad(String var0, int var1) {
  63.       if (!var0.startsWith("0x")) {
  64.          return var0;
  65.       } else {
  66.          String var2 = var0.substring(2);
  67.          int var3 = var2.length();
  68.          if (var3 > var1) {
  69.             var2 = var2.substring(var3 - var1);
  70.          } else if (var3 < var1) {
  71.             String var4 = "0000000000000000";
  72.             String var5 = var4.substring(0, var1 - var3) + var2;
  73.             var2 = var5;
  74.          }
  75.  
  76.          var2 = var2.toUpperCase();
  77.          return var2;
  78.       }
  79.    }
  80.  
  81.    public static String toHex(int var0) {
  82.       char[] var1 = new char[8];
  83.       String var2 = "0123456789ABCDEF";
  84.  
  85.       for(int var4 = 0; var4 < 4; ++var4) {
  86.          byte var3 = (byte)(var0 & 255);
  87.          var1[6 - var4 * 2] = var2.charAt(var3 >> 4 & 15);
  88.          var1[7 - var4 * 2] = var2.charAt(var3 & 15);
  89.          var0 >>= 8;
  90.       }
  91.  
  92.       return "0x" + new String(var1);
  93.    }
  94.  
  95.    public static byte[] hexStringToByteArray(String var0) throws NumberFormatException {
  96.       int var2 = var0.length();
  97.       int var3 = (var2 + 1) / 2;
  98.       byte[] var1 = new byte[var3];
  99.  
  100.       for(int var4 = 0; var4 < var3; ++var4) {
  101.          var1[var4] = (byte)hexPairToInt(var0.substring(var4 * 2, (var4 + 1) * 2));
  102.       }
  103.  
  104.       return var1;
  105.    }
  106.  
  107.    public static int hexPairToInt(String var0) throws NumberFormatException {
  108.       String var1 = "0123456789ABCDEF";
  109.       String var2 = var0.toUpperCase();
  110.       int var3 = 0;
  111.       int var4 = 0;
  112.       int var5 = var2.length();
  113.       if (var5 > 2) {
  114.          var5 = 2;
  115.       }
  116.  
  117.       for(int var6 = 0; var6 < var5; ++var6) {
  118.          var4 = var1.indexOf(var2.substring(var6, var6 + 1));
  119.          if (var4 < 0) {
  120.             throw new NumberFormatException();
  121.          }
  122.  
  123.          if (var6 == 0) {
  124.             var4 *= 16;
  125.          }
  126.  
  127.          var3 += var4;
  128.       }
  129.  
  130.       return var3;
  131.    }
  132. }
  133.