home *** CD-ROM | disk | FTP | other *** search
- package sun.jdbc.odbc;
-
- import java.io.InputStream;
- import java.util.Hashtable;
- import java.util.Vector;
-
- public class JdbcOdbcBoundArrayOfParams extends JdbcOdbcObject {
- protected int numParams;
- protected Hashtable hashedLenIdx;
- protected Object[] storedParams;
- protected int[] paramLenIdx;
- protected Object[][] storedInputStreams;
- protected Object[][] paramSets;
- protected int[][] paramLenIdxSets;
- protected int batchSize;
-
- public JdbcOdbcBoundArrayOfParams(int var1) {
- this.numParams = var1;
- this.initialize();
- }
-
- public void initialize() {
- this.storedParams = new Object[this.numParams];
- this.paramLenIdx = new int[this.numParams];
- this.hashedLenIdx = new Hashtable();
- this.batchSize = 0;
-
- for(int var1 = 0; var1 < this.numParams; ++var1) {
- this.paramLenIdx[var1] = -5;
- }
-
- }
-
- public void storeValue(int var1, Object var2, int var3) {
- this.storedParams[var1] = var2;
- this.paramLenIdx[var1] = var3;
- }
-
- public void clearParameterSet() {
- if (this.storedParams != null) {
- for(int var1 = 0; var1 < this.numParams; ++var1) {
- this.storedParams[var1] = new Object();
- this.paramLenIdx[var1] = -5;
- }
- }
-
- }
-
- public Object[] getStoredParameterSet() {
- Object[] var1 = new Object[0];
- if (this.storedParams != null) {
- var1 = new Object[this.numParams];
-
- try {
- for(int var2 = 0; var2 < this.numParams; ++var2) {
- var1[var2] = this.storedParams[var2];
- }
- } catch (ArrayIndexOutOfBoundsException var3) {
- System.out.println("exception: " + ((Throwable)var3).getMessage());
- ((Throwable)var3).printStackTrace();
- }
- }
-
- return var1;
- }
-
- public void storeRowIndex(int var1, int[] var2) {
- this.hashedLenIdx.put(new Integer(var1), var2);
- }
-
- public int[] getStoredRowIndex(int var1) {
- return (int[])this.hashedLenIdx.get(new Integer(var1));
- }
-
- public void clearStoredRowIndexs() {
- if (!this.hashedLenIdx.isEmpty()) {
- this.hashedLenIdx.clear();
- }
-
- }
-
- public int[] getStoredIndexSet() {
- int[] var1 = new int[0];
- if (this.paramLenIdx != null) {
- var1 = new int[this.numParams];
-
- try {
- for(int var2 = 0; var2 < this.numParams; ++var2) {
- var1[var2] = this.paramLenIdx[var2];
- if (var1[var2] == -5) {
- var1 = new int[0];
- return var1;
- }
- }
- } catch (ArrayIndexOutOfBoundsException var3) {
- System.out.println("exception: " + ((Throwable)var3).getMessage());
- ((Throwable)var3).printStackTrace();
- }
- }
-
- return var1;
- }
-
- public void builtColumWiseParameteSets(int var1, Vector var2) {
- int[] var3 = new int[0];
- Object[] var4 = new Object[0];
- this.batchSize = var1;
- if (var2.size() == this.batchSize) {
- this.storedInputStreams = new Object[this.batchSize][this.numParams];
- this.paramSets = new Object[this.batchSize][this.numParams];
- this.paramLenIdxSets = new int[this.batchSize][this.numParams];
-
- for(int var5 = 0; var5 < this.batchSize; ++var5) {
- var3 = this.getStoredRowIndex(var5);
- var4 = var2.elementAt(var5);
-
- for(int var6 = 0; var6 < this.numParams; ++var6) {
- this.paramSets[var5][var6] = var4[var6];
- this.paramLenIdxSets[var5][var6] = var3[var6];
- }
- }
- }
-
- }
-
- public Object[] getColumnWiseParamSet(int var1) {
- Object[] var2 = new Object[this.batchSize];
- if (this.paramSets != null) {
- for(int var3 = 0; var3 < this.batchSize; ++var3) {
- var2[var3] = this.paramSets[var3][var1 - 1];
- }
- }
-
- return var2;
- }
-
- public int[] getColumnWiseIndexArray(int var1) {
- int[] var2 = new int[this.batchSize];
- if (this.paramLenIdxSets != null) {
- for(int var3 = 0; var3 < this.batchSize; ++var3) {
- var2[var3] = this.paramLenIdxSets[var3][var1 - 1];
- }
- }
-
- return var2;
- }
-
- public void setInputStreamElements(int var1, Object[] var2) {
- if (var1 >= 1 && var1 <= this.numParams && this.storedInputStreams != null && var2 != null) {
- for(int var3 = 0; var3 < this.batchSize; ++var3) {
- this.storedInputStreams[var3][var1 - 1] = var2[var3];
- }
- }
-
- }
-
- public InputStream getInputStreamElement(int var1, int var2) {
- InputStream var3 = null;
- if (var1 >= 1 && var1 <= this.numParams && var2 >= 1 && var2 <= this.batchSize) {
- var3 = (InputStream)this.storedInputStreams[var2 - 1][var1 - 1];
- }
-
- return var3;
- }
-
- public int getElementLength(int var1, int var2) {
- return this.paramLenIdxSets[var2 - 1][var1 - 1];
- }
- }
-