KickJava   Java API By Example, From Geeks To Geeks.

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


1 package com.daffodilwoods.daffodildb.server.datasystem.indexsystem;
2
3 import com.daffodilwoods.daffodildb.server.datasystem.btree.*;
4 import com.daffodilwoods.daffodildb.server.datasystem.interfaces._DatabaseUser;
5 import com.daffodilwoods.database.resource.DException;
6 import com.daffodilwoods.daffodildb.utils.byteconverter.CbCzufIboemfs;
7 import com.daffodilwoods.daffodildb.server.datasystem.interfaces._Index;
8
9 public class MemoryNodeManager implements _NodeManager {
10
11    private int size = 0;
12    private _Index btree;
13    private BTreeNode rootNode ;
14    private IndexColumnInformation iinf;
15    private int nodeSize;
16
17     public MemoryNodeManager(IndexColumnInformation iinf1){
18         iinf = iinf1;
19         nodeSize = 255;
20     }
21
22     public MemoryNodeManager(IndexColumnInformation iinf1,int nodeSize0){
23         iinf = iinf1;
24         nodeSize = nodeSize0;
25     }
26
27
28
29     public BTreeNode getRootNode(_DatabaseUser user)throws DException {
30         return rootNode;
31     }
32
33     public BTreeNode getNewNode(_DatabaseUser user)throws DException {
34         MemoryNode memoryNode = new MemoryNode(nodeSize);
35         BTreeNode node = new BTreeNode(btree,memoryNode);
36         memoryNode.setNode(node);
37         return node;
38     }
39
40     public void updateSize(_DatabaseUser user,boolean increment) throws DException{
41         size += increment ? 1 : -1;
42         if(size == 0){
43           rootNode = null;
44         }
45     }
46
47     public void updateBTreeInfo(_DatabaseUser user,BTreeNode node) throws DException {
48         rootNode = node;
49     }
50     public void updateSizeAndBTreeInfo(_DatabaseUser user,boolean increment,BTreeNode node) throws DException {
51            rootNode = node;
52            size += increment ? 1 : -1;
53            if (size == 0) {
54              rootNode = null;
55            }
56        }
57
58     public int getSize() {
59         return size;
60     }
61
62     public BTreeNode getNodeForRead( BTreeElement element) throws DException{
63         return element.getChild();
64     }
65
66     public void setBTree(_Index btree0){
67         btree = btree0;
68     }
69
70    public BTreeNode getNode(_DatabaseUser user,Object JavaDoc nodeKey) throws DException{
71       return (BTreeNode)nodeKey;
72    }
73
74    public CbCzufIboemfs[] getByteHandlers() throws DException{
75        return iinf.getHandlers();
76    }
77
78    public int[] getColumnTypes() throws DException{
79        return iinf.getTypeOfColumns();
80    }
81    public void setSize(int size){
82      /**@todo Implement this com.daffodilwoods.daffodildb.server.datasystem.interfaces._Index method*/
83     throw new java.lang.UnsupportedOperationException JavaDoc("Method setSize() not yet implemented.");
84    }
85
86    public void releaseResource(_DatabaseUser user,boolean releaseCompletely) throws
87    DException{
88      }
89
90
91 }
92
Popular Tags