1 package com.daffodilwoods.rmi.server; 2 3 import java.io.*; 4 5 6 import com.daffodilwoods.daffodildb.server.datasystem.utility.*; 7 import com.daffodilwoods.daffodildb.server.sql99.dql.execution.*; 8 import com.daffodilwoods.daffodildb.server.sql99.dql.resultsetmetadata.*; 9 import com.daffodilwoods.daffodildb.utils.comparator.*; 10 import com.daffodilwoods.database.resource.*; 11 import com.daffodilwoods.database.utility.*; 12 13 public class RmiAllColumnRowReader implements _AllColumnRowReader, Externalizable { 14 int[] selectedColumnMapping; 15 SuperComparator comp; 16 int[] keyColumnIndexes; 17 int allColumnLength; 18 int []primaryIndexes; 19 20 public RmiAllColumnRowReader(){} 21 22 public RmiAllColumnRowReader(int[] selectedColumnMapping0,SuperComparator comp0,int[] keyColumnIndexes0, 23 int allColumnLength0,int []primaryIndexes0) { 24 selectedColumnMapping = selectedColumnMapping0; 25 comp = comp0; 26 keyColumnIndexes = keyColumnIndexes0; 27 allColumnLength = allColumnLength0; 28 primaryIndexes = primaryIndexes0; 29 } 30 public Object getObject(int parm1, Object parm2) throws DException { 31 return ((Object [])parm2)[selectedColumnMapping[parm1 - 1] - 1]; 32 } 33 34 public _Record getRecord(String parm1) throws DException { 35 throw new java.lang.UnsupportedOperationException ("Method getRecord() not yet implemented."); 36 } 37 38 public void setObject(int parm1, Object parm2, Object parm3) throws DException { 39 ((Object [])parm3)[selectedColumnMapping[parm1 - 1]-1] = parm2; 40 } 41 42 public void setObjects(Object oldRow, Object newRow, int[] columnIndexes) throws DException{ 43 for (int i = 0; i < columnIndexes.length; i++) { 44 int columnIndex = selectedColumnMapping[columnIndexes[i] - 1] - 1; 45 ( (Object []) oldRow)[columnIndex] = ( (Object []) newRow)[columnIndex]; 46 } 47 } 48 49 public Object getObject(_TableInfo parm1, int parm2, Object parm3) throws DException { 50 throw new java.lang.UnsupportedOperationException ("Method getObject() not yet implemented."); 51 } 52 public Object getObject(_TableInfo parm1, String parm2, Object parm3) throws DException { 53 throw new java.lang.UnsupportedOperationException ("Method getObject() not yet implemented."); 54 } 55 public Object [] getPrimaryKeyConditionalColumnValues(Object [] row) throws DException { 56 int length = primaryIndexes.length; 57 Object [] values = new Object [length]; 58 for (int i = 0; i < length; i++) { 59 values[i] = row[primaryIndexes[i] - 1]; 60 } 61 return values; 62 } 63 64 public Object getBlankRow() throws DException { 65 return new Object [allColumnLength]; 66 } 67 public void setObject(String parm1, Object parm2, Object parm3) throws DException { 68 throw new java.lang.UnsupportedOperationException ("Method setObject() not yet implemented."); 69 } 70 public void setObject(_TableInfo parm1, int parm2, Object parm3, Object parm4) throws DException { 71 throw new java.lang.UnsupportedOperationException ("Method setObject() not yet implemented."); 72 } 73 public SuperComparator getComparator() throws DException { 74 return comp; 75 } 76 77 public int[] getKeyColumnIndexes() throws DException { 78 return keyColumnIndexes; 79 } 80 81 public String getFirstTableName() throws DException { 82 throw new java.lang.UnsupportedOperationException ("Method getFirstTableName() not yet implemented."); 83 } 84 public Object getKey(Object row) throws DException { 85 try { 86 int length = keyColumnIndexes.length; 87 Object [] result = new Object [length]; 88 for (int i = 0; i < length; i++) 89 result[i] = ((Object [])row)[keyColumnIndexes[i] - 1]; 90 return result; 91 } 92 catch (ArrayIndexOutOfBoundsException ex) { 93 throw ex; 94 } 95 } 96 public Object getRowClone(Object parm1) throws DException { 97 throw new java.lang.UnsupportedOperationException ("Method getRowClone() not yet implemented."); 98 } 99 public String getColumnName(_TableInfo parm1, int parm2) throws DException { 100 throw new java.lang.UnsupportedOperationException ("Method getColumnName() not yet implemented."); 101 } 102 103 public void writeExternal(ObjectOutput oo) throws IOException{ 104 oo.writeObject(selectedColumnMapping); 105 oo.writeObject(comp); 106 oo.writeObject(keyColumnIndexes); 107 oo.writeInt(allColumnLength); 108 oo.writeObject(primaryIndexes); 109 } 110 111 public void readExternal(ObjectInput oi) throws IOException,ClassNotFoundException { 112 selectedColumnMapping = (int[]) oi.readObject(); 113 comp = (SuperComparator) oi.readObject(); 114 keyColumnIndexes = (int[]) oi.readObject(); 115 allColumnLength = oi.readInt(); 116 primaryIndexes = (int[]) oi.readObject(); 117 } 118 119 } 120 | Popular Tags |