1 package com.daffodilwoods.daffodildb.server.sql99.dql.resultsetmetadata; 2 3 import java.io.*; 4 import java.util.*; 5 6 import com.daffodilwoods.daffodildb.server.datasystem.utility.*; 7 import com.daffodilwoods.daffodildb.server.sql99.dql.listenerevents.*; 8 import com.daffodilwoods.database.resource.*; 9 10 19 public class RowReaderScrollable implements _RowReaderScrollable, Serializable { 20 21 24 25 private int[] selectColumnMapping; 26 27 30 31 private int[] keyColumnMapping; 32 33 36 37 private Comparator comparator; 38 39 43 44 public RowReaderScrollable(int[] selectColumnMapping0, int[] keyColumnMapping0, boolean[] orderSpecifications1) { 45 selectColumnMapping = selectColumnMapping0; 46 keyColumnMapping = keyColumnMapping0; 47 comparator = new ScrollableKeyComparator(orderSpecifications1); 48 } 49 50 public Comparator getComparator() throws DException { 51 return comparator; 52 } 53 54 public Object getKey(Object row) throws DException { 55 int length = keyColumnMapping.length; 56 Object [] key = new Object [length]; 57 for (int i = 0; i < length; i++) { 58 key[i] = ( (Object []) row)[keyColumnMapping[i] - 1]; 59 } 60 return key; 61 } 62 63 public Object getObject(int index, Object row) throws DException { 64 return ( (Object []) row)[selectColumnMapping[index - 1] - 1]; 65 } 66 67 public _Record getRecord(String columnName) throws DException { 68 69 throw new java.lang.UnsupportedOperationException ("Method getRecord() not yet implemented."); 70 } 71 72 public void setObject(int columnIndex, Object value, Object row) throws DException { 73 ( (Object []) row)[selectColumnMapping[columnIndex - 1] - 1] = value; 74 } 75 } 76 | Popular Tags |