KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > datasystem > indexsystem > BTreeCharacteristicsSingleColumn


1 package com.daffodilwoods.daffodildb.server.datasystem.indexsystem;
2
3 import com.daffodilwoods.daffodildb.server.sql99.utils._Reference;
4 import com.daffodilwoods.daffodildb.server.sql99.utils._VariableValues;
5 import com.daffodilwoods.daffodildb.server.datasystem.interfaces._TableCharacteristics;
6 import com.daffodilwoods.daffodildb.server.datasystem.persistentsystem.DatabaseConstants;
7 import com.daffodilwoods.database.resource.DException;
8 import com.daffodilwoods.daffodildb.utils.BufferRange;
9 public class BTreeCharacteristicsSingleColumn implements _BTreeCharacteristics,DatabaseConstants{
10     private String JavaDoc columnName;
11     private int columnIndex;
12     private _TableCharacteristics tableCharacteristics;
13
14
15     public BTreeCharacteristicsSingleColumn(String JavaDoc columnName0,int columnIndex0,_TableCharacteristics tc) {
16         columnName = columnName0;
17         columnIndex = columnIndex0;
18         tableCharacteristics = tc;
19     }
20
21     public Object JavaDoc getColumnValues(_Reference[] references,Object JavaDoc value ) throws DException {
22         setIndexinReference(references[0]);
23         return new Object JavaDoc[]{tableCharacteristics.getObject(columnIndex,(BufferRange)value)};
24     }
25
26     public Object JavaDoc getColumnValues(_Reference reference, Object JavaDoc value) throws DException {
27         setIndexinReference(reference);
28         return tableCharacteristics.getObject(columnIndex,(BufferRange)value);
29     }
30
31     private void setIndexinReference(_Reference reference)throws DException{
32         try{
33             reference.getIndex();
34         }
35         catch(DException de) {
36             if(!de.getDseCode().equalsIgnoreCase("DSE565"))
37                 throw de;
38             if(columnName.equalsIgnoreCase(reference.getColumn()))
39                 reference.setIndex(columnIndex);
40             else
41                 throw COLUMN_NOTFOUND_EXCEPTION;
42         }
43
44     }
45 }
46
Popular Tags