KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > datasystem > persistentsystem > RecordBytesTableHashMap


1 package com.daffodilwoods.daffodildb.server.datasystem.persistentsystem;
2
3 import com.daffodilwoods.database.resource.DException;
4 import com.daffodilwoods.daffodildb.utils.BufferRange;
5 import com.daffodilwoods.daffodildb.server.datasystem.interfaces.*;
6 import java.util.*;
7 import com.daffodilwoods.daffodildb.server.sql99.utils._Reference;
8
9 /**
10  *
11  * <p>Title: Your Product Name</p>
12  * <p>Description: Your description</p>
13  * <p>Copyright: Copyright (c) 1999</p>
14  * <p>Company: Your Company</p>
15  * @author Ashish Srivastava
16  * @version
17  */

18 public class RecordBytesTableHashMap implements _TableList {
19
20    HashMap recordBytesHashMap;
21   _TableList table;
22    int CODE;
23
24   public RecordBytesTableHashMap(HashMap recordBytesHashMap1,int CODE1) {
25      recordBytesHashMap = recordBytesHashMap1;
26      CODE = CODE1;
27   }
28
29   public Object JavaDoc insert(_DatabaseUser user, _RecordCluster recordCluster,Object JavaDoc values) throws DException {
30       TableKey tableKey = (TableKey)table.insert(user,recordCluster,values);
31       Object JavaDoc mapKey = new Long JavaDoc(tableKey.getStartAddress());
32       Object JavaDoc obj = recordBytesHashMap.get(mapKey);
33       ArrayList retrieveValues = obj == null ? initializeArrayList(recordCluster.getRecordCount())
34                                      :(ArrayList)obj;
35       retrieveValues.set(tableKey.getRecordNumber() - 1,values);
36       if(obj == null)
37          recordBytesHashMap.put(mapKey,retrieveValues);
38       return tableKey;
39    }
40
41    public _TableList getTable() {
42       return table;
43    }
44
45    public _TableList getTable(int num) {
46       return CODE == num ? table : table.getTable(num);
47    }
48
49    public Object JavaDoc update(_DatabaseUser user ,_RecordCluster recordCluster,Object JavaDoc key, Object JavaDoc values) throws DException {
50       TableKey tableKey = (TableKey)table.update(user,recordCluster, key,values);
51       Object JavaDoc mapKey = new Long JavaDoc(tableKey.getStartAddress());
52       boolean flag = recordBytesHashMap.containsKey(mapKey);
53       ArrayList retrieveValues = !flag ? initializeArrayList(recordCluster.getRecordCount())
54                                      :(ArrayList)recordBytesHashMap.get(mapKey);
55       retrieveValues.set(tableKey.getRecordNumber() - 1,values);
56       if(!flag)
57         recordBytesHashMap.put(mapKey,retrieveValues);
58       return tableKey;
59    }
60
61    public Object JavaDoc delete(_DatabaseUser user, _RecordCluster recordCluster, Object JavaDoc key)throws DException {
62       TableKey tableKey = (TableKey)table.delete(user,recordCluster,key);
63       Object JavaDoc mapKey = new Long JavaDoc(tableKey.getStartAddress());
64       boolean flag = recordBytesHashMap.containsKey(mapKey);
65       if(!flag)
66          return tableKey;
67       ArrayList retrieveValues = (ArrayList)recordBytesHashMap.get(mapKey);
68       retrieveValues.set(tableKey.getRecordNumber() - 1,null);
69       return tableKey;
70    }
71
72   public void setTable(_TableList table1){
73     table = table1;
74   }
75
76   private ArrayList initializeArrayList(int size){
77      ArrayList retrievedObjects = new ArrayList(size);
78       for(int i= 0; i < size ; i++)
79         retrievedObjects.add(null);
80      return retrievedObjects;
81    }
82
83     public int getColumnCount() throws DException{
84          return table.getColumnCount();
85    }
86
87
88
89    public TableProperties getTableProperties() throws DException{
90       throw new java.lang.UnsupportedOperationException JavaDoc("Method update() not yet implemented.");
91    }
92
93    public void checkValidity(_RecordCluster recordCluster, Object JavaDoc key) throws DException{
94         table.checkValidity(recordCluster,key);
95    }
96
97    public _TableCharacteristics getTableCharacteristics() throws DException {
98       /**@todo: Implement this com.daffodilwoods.daffodildb.server.datasystem.persistentsystem._TableList method*/
99       throw new java.lang.UnsupportedOperationException JavaDoc("Method getTableCharacteristics() not yet implemented.");
100    }
101
102    public void rollBack() throws DException {
103       table.rollBack();
104    }
105     public Object JavaDoc getColumnObjects(_RecordCluster recordCluster, Object JavaDoc key) throws DException {
106         return getColumnObjects(recordCluster,key);
107     }
108     public Object JavaDoc getColumnObjects(_RecordCluster recordCluster, Object JavaDoc key, int column) throws DException {
109         return getColumnObjects(recordCluster,key,column);
110     }
111
112     public Object JavaDoc getColumnValues(TableKey key,_RecordCluster cluster)throws DException{
113         /**@todo Implement this com.daffodilwoods.daffodildb.server.datasystem.persistentsystem._TableList method*/
114         throw new java.lang.UnsupportedOperationException JavaDoc("Method getColumnValues() not yet implemented.");
115     }
116
117     public Object JavaDoc getColumnValues(TableKey key,_RecordCluster cluster,int column) throws DException{
118         /**@todo Implement this com.daffodilwoods.daffodildb.server.datasystem.persistentsystem._TableList method*/
119         throw new java.lang.UnsupportedOperationException JavaDoc("Method getColumnValues() not yet implemented.");
120     }
121
122     public Object JavaDoc getColumnValues(TableKey key,_RecordCluster cluster,int[] columns) throws DException{
123         /**@todo Implement this com.daffodilwoods.daffodildb.server.datasystem.persistentsystem._TableList method*/
124         throw new java.lang.UnsupportedOperationException JavaDoc("Method getColumnValues() not yet implemented.");
125     }
126
127 }
128
Popular Tags