KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > datasystem > utility > RecordVersion


1 package com.daffodilwoods.daffodildb.server.datasystem.utility;
2
3 import com.daffodilwoods.daffodildb.server.datasystem.utility._Record;
4
5 import com.daffodilwoods.database.resource.*;
6 import java.util.*;
7 public class RecordVersion implements java.io.Serializable JavaDoc{
8
9    HashMap columnIndexesMap;
10    RecordVersion rv ;
11    _Record currentRecord;
12
13    public RecordVersion( _Record record0 ) throws DException {
14      currentRecord = record0;
15    }
16
17
18    public _Record getPreviousRecord()throws DException{
19      _Record record = (_Record)currentRecord.clone();;
20      if(columnIndexesMap == null)
21        return record;
22      Set keySet = columnIndexesMap.keySet();
23      Iterator iter = keySet.iterator();
24      for(int i =0 ; i< columnIndexesMap.size();i++){
25         Object JavaDoc columnIndex = iter.next();
26         record.update(columnIndex.hashCode(),columnIndexesMap.get(columnIndex));
27      }
28      return (_Record)record;
29    }
30
31    public _Record getCurrentRecord() throws DException {
32      return (_Record)currentRecord.clone();
33    }
34
35
36    public void update(String JavaDoc columnName,Object JavaDoc newValue) throws DException {
37       throw new InternalError JavaDoc(" method not implemented ");
38    }
39
40    public void update(String JavaDoc[] columnName,Object JavaDoc[] newValue) throws DException {
41       throw new InternalError JavaDoc(" method not implemented ");
42    }
43
44     public void update(int[] columnIndexes,Object JavaDoc[] newValues)throws DException{
45       for(int i =0;i< columnIndexes.length ;i++)
46          update(columnIndexes[i],newValues[i]);
47    }
48
49   public void update(int columnIndex,Object JavaDoc newValue)throws DException{
50     Object JavaDoc oldValue = currentRecord.getObject(columnIndex);
51     Integer JavaDoc column = new Integer JavaDoc(columnIndex);
52     if(columnIndexesMap == null)
53       columnIndexesMap = new HashMap();
54     columnIndexesMap.put(column,oldValue);
55     currentRecord.update(columnIndex,newValue);
56   }
57
58   public Object JavaDoc Clone() throws CloneNotSupportedException JavaDoc{
59      try {
60         rv = new RecordVersion((_Record)currentRecord.clone());
61         if(columnIndexesMap == null)
62           rv.setColumnIndexMap(null);
63         else
64           rv.setColumnIndexMap((HashMap)columnIndexesMap.clone());
65      }
66      catch (DException ex) {
67
68      }
69      return rv;
70   }
71
72   public void setColumnIndexMap(HashMap columnIndexesMap) throws DException{
73      this.columnIndexesMap = columnIndexesMap;
74   }
75
76   /*public void setColumnNamesValueMap(HashMap columnNamesValueMap) throws DException{
77      this.columnNamesValueMap = columnNamesValueMap;
78   }*/

79 }
80
Popular Tags