home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &… the Search for Life CD 3 / 0_CD-ROM.iso / install / jre1_3 / lib / rt.jar / sun / jdbc / odbc / JdbcOdbcBoundArrayOfParams.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.9 KB  |  170 lines

  1. package sun.jdbc.odbc;
  2.  
  3. import java.io.InputStream;
  4. import java.util.Hashtable;
  5. import java.util.Vector;
  6.  
  7. public class JdbcOdbcBoundArrayOfParams extends JdbcOdbcObject {
  8.    protected int numParams;
  9.    protected Hashtable hashedLenIdx;
  10.    protected Object[] storedParams;
  11.    protected int[] paramLenIdx;
  12.    protected Object[][] storedInputStreams;
  13.    protected Object[][] paramSets;
  14.    protected int[][] paramLenIdxSets;
  15.    protected int batchSize;
  16.  
  17.    public JdbcOdbcBoundArrayOfParams(int var1) {
  18.       this.numParams = var1;
  19.       this.initialize();
  20.    }
  21.  
  22.    public void initialize() {
  23.       this.storedParams = new Object[this.numParams];
  24.       this.paramLenIdx = new int[this.numParams];
  25.       this.hashedLenIdx = new Hashtable();
  26.       this.batchSize = 0;
  27.  
  28.       for(int var1 = 0; var1 < this.numParams; ++var1) {
  29.          this.paramLenIdx[var1] = -5;
  30.       }
  31.  
  32.    }
  33.  
  34.    public void storeValue(int var1, Object var2, int var3) {
  35.       this.storedParams[var1] = var2;
  36.       this.paramLenIdx[var1] = var3;
  37.    }
  38.  
  39.    public void clearParameterSet() {
  40.       if (this.storedParams != null) {
  41.          for(int var1 = 0; var1 < this.numParams; ++var1) {
  42.             this.storedParams[var1] = new Object();
  43.             this.paramLenIdx[var1] = -5;
  44.          }
  45.       }
  46.  
  47.    }
  48.  
  49.    public Object[] getStoredParameterSet() {
  50.       Object[] var1 = new Object[0];
  51.       if (this.storedParams != null) {
  52.          var1 = new Object[this.numParams];
  53.  
  54.          try {
  55.             for(int var2 = 0; var2 < this.numParams; ++var2) {
  56.                var1[var2] = this.storedParams[var2];
  57.             }
  58.          } catch (ArrayIndexOutOfBoundsException var3) {
  59.             System.out.println("exception: " + ((Throwable)var3).getMessage());
  60.             ((Throwable)var3).printStackTrace();
  61.          }
  62.       }
  63.  
  64.       return var1;
  65.    }
  66.  
  67.    public void storeRowIndex(int var1, int[] var2) {
  68.       this.hashedLenIdx.put(new Integer(var1), var2);
  69.    }
  70.  
  71.    public int[] getStoredRowIndex(int var1) {
  72.       return (int[])this.hashedLenIdx.get(new Integer(var1));
  73.    }
  74.  
  75.    public void clearStoredRowIndexs() {
  76.       if (!this.hashedLenIdx.isEmpty()) {
  77.          this.hashedLenIdx.clear();
  78.       }
  79.  
  80.    }
  81.  
  82.    public int[] getStoredIndexSet() {
  83.       int[] var1 = new int[0];
  84.       if (this.paramLenIdx != null) {
  85.          var1 = new int[this.numParams];
  86.  
  87.          try {
  88.             for(int var2 = 0; var2 < this.numParams; ++var2) {
  89.                var1[var2] = this.paramLenIdx[var2];
  90.                if (var1[var2] == -5) {
  91.                   var1 = new int[0];
  92.                   return var1;
  93.                }
  94.             }
  95.          } catch (ArrayIndexOutOfBoundsException var3) {
  96.             System.out.println("exception: " + ((Throwable)var3).getMessage());
  97.             ((Throwable)var3).printStackTrace();
  98.          }
  99.       }
  100.  
  101.       return var1;
  102.    }
  103.  
  104.    public void builtColumWiseParameteSets(int var1, Vector var2) {
  105.       int[] var3 = new int[0];
  106.       Object[] var4 = new Object[0];
  107.       this.batchSize = var1;
  108.       if (var2.size() == this.batchSize) {
  109.          this.storedInputStreams = new Object[this.batchSize][this.numParams];
  110.          this.paramSets = new Object[this.batchSize][this.numParams];
  111.          this.paramLenIdxSets = new int[this.batchSize][this.numParams];
  112.  
  113.          for(int var5 = 0; var5 < this.batchSize; ++var5) {
  114.             var3 = this.getStoredRowIndex(var5);
  115.             var4 = var2.elementAt(var5);
  116.  
  117.             for(int var6 = 0; var6 < this.numParams; ++var6) {
  118.                this.paramSets[var5][var6] = var4[var6];
  119.                this.paramLenIdxSets[var5][var6] = var3[var6];
  120.             }
  121.          }
  122.       }
  123.  
  124.    }
  125.  
  126.    public Object[] getColumnWiseParamSet(int var1) {
  127.       Object[] var2 = new Object[this.batchSize];
  128.       if (this.paramSets != null) {
  129.          for(int var3 = 0; var3 < this.batchSize; ++var3) {
  130.             var2[var3] = this.paramSets[var3][var1 - 1];
  131.          }
  132.       }
  133.  
  134.       return var2;
  135.    }
  136.  
  137.    public int[] getColumnWiseIndexArray(int var1) {
  138.       int[] var2 = new int[this.batchSize];
  139.       if (this.paramLenIdxSets != null) {
  140.          for(int var3 = 0; var3 < this.batchSize; ++var3) {
  141.             var2[var3] = this.paramLenIdxSets[var3][var1 - 1];
  142.          }
  143.       }
  144.  
  145.       return var2;
  146.    }
  147.  
  148.    public void setInputStreamElements(int var1, Object[] var2) {
  149.       if (var1 >= 1 && var1 <= this.numParams && this.storedInputStreams != null && var2 != null) {
  150.          for(int var3 = 0; var3 < this.batchSize; ++var3) {
  151.             this.storedInputStreams[var3][var1 - 1] = var2[var3];
  152.          }
  153.       }
  154.  
  155.    }
  156.  
  157.    public InputStream getInputStreamElement(int var1, int var2) {
  158.       InputStream var3 = null;
  159.       if (var1 >= 1 && var1 <= this.numParams && var2 >= 1 && var2 <= this.batchSize) {
  160.          var3 = (InputStream)this.storedInputStreams[var2 - 1][var1 - 1];
  161.       }
  162.  
  163.       return var3;
  164.    }
  165.  
  166.    public int getElementLength(int var1, int var2) {
  167.       return this.paramLenIdxSets[var2 - 1][var1 - 1];
  168.    }
  169. }
  170.