home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1998 January / PCO0198.ISO / browser / net_linx / jae40.jar / sun / jdbc / odbc / JdbcOdbcObject.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-03  |  2.2 KB  |  130 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".substring(0, var1 - var3) + var2;
  72.             var2 = var4;
  73.          }
  74.  
  75.          var2 = var2.toUpperCase();
  76.          return var2;
  77.       }
  78.    }
  79.  
  80.    public static String toHex(int var0) {
  81.       char[] var1 = new char[8];
  82.  
  83.       for(int var3 = 0; var3 < 4; ++var3) {
  84.          byte var2 = (byte)(var0 & 255);
  85.          var1[6 - var3 * 2] = "0123456789ABCDEF".charAt(var2 >> 4 & 15);
  86.          var1[7 - var3 * 2] = "0123456789ABCDEF".charAt(var2 & 15);
  87.          var0 >>= 8;
  88.       }
  89.  
  90.       return "0x" + new String(var1);
  91.    }
  92.  
  93.    public static byte[] hexStringToByteArray(String var0) throws NumberFormatException {
  94.       int var2 = var0.length();
  95.       int var3 = (var2 + 1) / 2;
  96.       byte[] var1 = new byte[var3];
  97.  
  98.       for(int var4 = 0; var4 < var3; ++var4) {
  99.          var1[var4] = (byte)hexPairToInt(var0.substring(var4 * 2, (var4 + 1) * 2));
  100.       }
  101.  
  102.       return var1;
  103.    }
  104.  
  105.    public static int hexPairToInt(String var0) throws NumberFormatException {
  106.       String var1 = var0.toUpperCase();
  107.       int var2 = 0;
  108.       int var3 = 0;
  109.       int var4 = var1.length();
  110.       if (var4 > 2) {
  111.          var4 = 2;
  112.       }
  113.  
  114.       for(int var5 = 0; var5 < var4; ++var5) {
  115.          var3 = "0123456789ABCDEF".indexOf(var1.substring(var5, var5 + 1));
  116.          if (var3 < 0) {
  117.             throw new NumberFormatException();
  118.          }
  119.  
  120.          if (var5 == 0) {
  121.             var3 *= 16;
  122.          }
  123.  
  124.          var2 += var3;
  125.       }
  126.  
  127.       return var2;
  128.    }
  129. }
  130.