Statistics
| Revision:

root / trunk / libraries / libGDBMS / src / main / java / com / hardcode / gdbms / engine / data / object / ObjectDriverDataSourceAdapter.java @ 10627

History | View | Annotate | Download (3.24 KB)

1
package com.hardcode.gdbms.engine.data.object;
2

    
3

    
4
import com.hardcode.driverManager.Driver;
5
import com.hardcode.gdbms.driver.exceptions.ReadDriverException;
6
import com.hardcode.gdbms.driver.exceptions.ReloadDriverException;
7
import com.hardcode.gdbms.engine.data.driver.ObjectDriver;
8
import com.hardcode.gdbms.engine.data.driver.ReadAccess;
9
import com.hardcode.gdbms.engine.data.edition.DataWare;
10
import com.hardcode.gdbms.engine.data.file.AbstractFileDataSource;
11
import com.hardcode.gdbms.engine.values.Value;
12
import com.hardcode.gdbms.engine.values.ValueFactory;
13

    
14

    
15
/**
16
 *
17
 */
18
class ObjectDriverDataSourceAdapter extends AbstractFileDataSource
19
    implements ObjectDataSource {
20
    protected ObjectDriver objectDriver;
21

    
22
    /**
23
     * @see com.hardcode.gdbms.engine.data.DataSource#start()
24
     */
25
    public void start() throws ReadDriverException {
26
    }
27

    
28
    /**
29
     * @see com.hardcode.gdbms.engine.data.DataSource#stop()
30
     */
31
    public void stop() throws ReadDriverException {
32
    }
33

    
34
    /**
35
     * @see com.hardcode.gdbms.engine.data.DataSource#getDriver()
36
     */
37
    public ReadAccess getReadDriver() {
38
        return objectDriver;
39
    }
40

    
41
    /**
42
     * @see com.hardcode.gdbms.engine.data.DataSource#setDriver(ObjectDriver)
43
     */
44
    public void setDriver(ObjectDriver readDriver) {
45
        this.objectDriver = readDriver;
46
    }
47

    
48
    /**
49
     * @see com.hardcode.gdbms.engine.data.DataSource#getName()
50
     */
51
    public String getName() {
52
        return sourceInfo.name;
53
    }
54

    
55
    /**
56
     * @see com.hardcode.gdbms.engine.data.DataSource#getPrimaryKeys()
57
     */
58
    public int[] getPrimaryKeys() throws ReadDriverException {
59
        return objectDriver.getPrimaryKeys();
60
    }
61

    
62
    /**
63
     * @see com.hardcode.gdbms.engine.data.driver.ReadAccess#getFieldValue(long, int)
64
     */
65
    public Value getFieldValue(long rowIndex, int fieldId) throws ReadDriverException {
66
        Value v = objectDriver.getFieldValue(rowIndex, fieldId);
67
        return (v == null)?ValueFactory.createNullValue():v;
68
    }
69

    
70
    /**
71
     * @see com.hardcode.gdbms.engine.data.driver.ReadAccess#getFieldCount()
72
     */
73
    public int getFieldCount() throws ReadDriverException {
74
        return objectDriver.getFieldCount();
75
    }
76

    
77
    /**
78
     * @see com.hardcode.gdbms.engine.data.driver.ReadAccess#getFieldName(int)
79
     */
80
    public String getFieldName(int fieldId) throws ReadDriverException {
81
        return objectDriver.getFieldName(fieldId);
82
    }
83

    
84
    /**
85
     * @see com.hardcode.gdbms.engine.data.driver.ReadAccess#getFieldType(int)
86
     */
87
    public int getFieldType(int i) throws ReadDriverException {
88
        return objectDriver.getFieldType(i);
89
    }
90

    
91
    /**
92
     * @see com.hardcode.gdbms.engine.data.DataSource#getDataWare(int)
93
     */
94
    public DataWare getDataWare(int mode) throws ReadDriverException {
95
        ObjectDataWare dw = ObjectDataSourceFactory.newDataWareInstance();
96
        dw.setDriver(objectDriver);
97
        dw.setDataSourceFactory(dsf);
98
        dw.setSourceInfo(getSourceInfo());
99
        return dw;
100

    
101
    }
102

    
103
        public int getFieldWidth(int i) throws ReadDriverException {
104
                return objectDriver.getFieldWidth(i);
105
        }
106

    
107
        public Driver getDriver() {                
108
                return objectDriver;
109
        }
110

    
111
        public void reload() throws ReloadDriverException {
112
                
113
                objectDriver.reload();        
114
                this.raiseEventReloaded();
115
        }
116
}