KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > sessionsystem > sessionversioninfo > SessionVersionHandler3_2


1 package com.daffodilwoods.daffodildb.server.sessionsystem.sessionversioninfo;
2
3 import com.daffodilwoods.daffodildb.server.datasystem.interfaces.Utility;
4 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator._Iterator;
5 import com.daffodilwoods.database.resource.DException;
6 import com.daffodilwoods.daffodildb.server.datasystem.interfaces._IndexIterator;
7 import com.daffodilwoods.daffodildb.utils.comparator.SuperComparator;
8 import com.daffodilwoods.database.general.SystemFields;
9 import com.daffodilwoods.daffodildb.server.datadictionarysystem.IndexInformation;
10 import com.daffodilwoods.daffodildb.server.datasystem.indexsystem._IndexInformation;
11
12 public class SessionVersionHandler3_2
13     extends SessionVersionHandler {
14   public SessionVersionHandler3_2() {
15   }
16
17   public boolean recordFound(_Iterator iterator, Object JavaDoc[] key) throws
18       DException {
19     return Utility.recordFound(iterator, key);
20   }
21
22   public boolean recordFound(_Iterator iterator, Object JavaDoc actualKey, Object JavaDoc[] key) throws
23       DException {
24     return Utility.findRecord(iterator, actualKey, key);
25   }
26
27    public boolean recordFound(_IndexIterator iterator,_IndexIterator keyIterator, Object JavaDoc actualKey, SuperComparator comparator) throws DException{
28      return Utility.recordFound(iterator,keyIterator,actualKey, comparator);
29    }
30
31    public Object JavaDoc getDefaultKey(Object JavaDoc kee) throws DException{
32        try {
33          if(!(kee instanceof Object JavaDoc[]))
34            return kee;
35          Object JavaDoc[] key = (Object JavaDoc[])kee;
36          return key[key.length-1];
37        }
38        catch (Exception JavaDoc ex) {
39            throw new DException("DSE0",new Object JavaDoc[] {ex.getMessage()});
40        }
41    }
42
43     public void update(_IndexInformation iinf) throws DException {
44      if(!iinf.isUpdated()){
45        int size = iinf.getColumns().length;
46        int len = size + 1;
47        String JavaDoc [] names = new String JavaDoc[len];
48        int [] indexes = new int[len];
49        boolean [] types = new boolean[len];
50        System.arraycopy(iinf.getColumns(),0,names,0,size);
51        System.arraycopy(iinf.getColumnIndexes(),0,indexes,0,size);
52        System.arraycopy(iinf.getOrderOfColumns(),0,types,0,size);
53        names[size] = SystemFields.systemFields[SystemFields.rowId];
54        indexes[size] = SystemFields.rowId;
55        types[size] = true;
56        iinf.setColumnNames(names);
57        iinf.setColumnIndexes(indexes);
58        iinf.setOrderOfColumns(types);
59        iinf.setIsUpdatedFlag(true);
60
61      }
62    }
63    public boolean hasOnlyRowidAsColumnIndex(){
64      return true;
65    }
66
67    public boolean seek(_Iterator iterator,Object JavaDoc key) throws DException{
68      return iterator.seek(new Object JavaDoc[]{key});
69    }
70
71 }
72
Popular Tags