KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > sql99 > dql > resultsetmetadata > RowReaderScrollable


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 /**
11  * It represents the row reader for the resultset of 'Scrollable' type.
12  * <p>Title: </p>
13  * <p>Description: </p>
14  * <p>Copyright: Copyright (c) 2003</p>
15  * <p>Company: </p>
16  * @author unascribed
17  * @version 1.0
18  */

19 public class RowReaderScrollable implements _RowReaderScrollable, Serializable {
20
21    /**
22     * Represents the position of selected columns in row returned by resultset.
23     */

24
25    private int[] selectColumnMapping;
26
27    /**
28     * Represents the position of key columns in row returned by resultset.
29     */

30
31    private int[] keyColumnMapping;
32
33    /**
34     * Represents the comparator for comparing the rows returned by resultset.
35     */

36
37    private Comparator comparator;
38
39    /**
40     * For documentation of all the methods, refer the documentation of
41     * _RowReaderScrollable.
42     */

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 JavaDoc getKey(Object JavaDoc row) throws DException {
55       int length = keyColumnMapping.length;
56       Object JavaDoc[] key = new Object JavaDoc[length];
57       for (int i = 0; i < length; i++) {
58          key[i] = ( (Object JavaDoc[]) row)[keyColumnMapping[i] - 1];
59       }
60       return key;
61    }
62
63    public Object JavaDoc getObject(int index, Object JavaDoc row) throws DException {
64       return ( (Object JavaDoc[]) row)[selectColumnMapping[index - 1] - 1];
65    }
66
67    public _Record getRecord(String JavaDoc columnName) throws DException {
68       /**@todo Implement this com.daffodilwoods.daffodildb.server.sql99.dql.interfaces._RowReader method*/
69       throw new java.lang.UnsupportedOperationException JavaDoc("Method getRecord() not yet implemented.");
70    }
71
72    public void setObject(int columnIndex, Object JavaDoc value, Object JavaDoc row) throws DException {
73       ( (Object JavaDoc[]) row)[selectColumnMapping[columnIndex - 1] - 1] = value;
74    }
75 }
76
Popular Tags