Statistics
| Revision:

svn-gvsig-desktop / tags / v2_0_0_Build_2038 / applications / appgvSIG / src / org / gvsig / app / imp / DefaultPreferencesNode.java @ 37081

History | View | Annotate | Download (4.09 KB)

1 31496 jjdelcerro
package org.gvsig.app.imp;
2
3
import java.awt.Color;
4
5
import org.gvsig.andami.PluginServices;
6
import org.gvsig.app.PreferencesNode;
7
import org.gvsig.utils.StringUtilities;
8
import org.gvsig.utils.XMLEntity;
9
10
public class DefaultPreferencesNode implements PreferencesNode {
11
12
        private String name;
13
        private XMLEntity node;
14
15
        public DefaultPreferencesNode() {
16
                this.name = null;
17
        }
18
19
        public DefaultPreferencesNode(String nodeName) {
20
                this.name = nodeName;
21
        }
22
23
        protected XMLEntity getRootNode() {
24
                XMLEntity node = PluginServices.getPluginServices("org.gvsig.app")        .getPersistentXML();
25
                return node;
26
        }
27
28
        protected XMLEntity getNode() {
29
                if( this.node == null ) {
30
                        if( this.name == null ) {
31
                                this.node = this.getRootNode();
32
                        } else {
33
                        this.node = this.getRootNode().firstChild(this.name);
34
                        }
35
                }
36
        return this.node;
37
        }
38
39
        public String name() {
40
                return this.name;
41
        }
42
43
        public String[] keys() throws Exception {
44
                XMLEntity node = this.getNode();
45
                int count = node.getChildrenCount();
46
                String[] keys = new String[count];
47
                for(int  i=0 ; i<count ; i++ ) {
48
                        keys[i] = node.getChild(i).getName();
49
                }
50
                return keys;
51
        }
52
53
        public void clear() throws Exception {
54
                XMLEntity node = this.getNode();
55
                node.removeAllChildren();
56
        }
57
58
        public void flush() throws Exception {
59
                // do nothing
60
        }
61
62
        public String get(String name, String defaultValue) {
63
                XMLEntity node = this.getNode();
64
65
                if (!node.contains(name)) {
66
                        return defaultValue;
67
                }
68
                String value = node.getStringProperty(name);
69
                return value;
70
        }
71
72
        public boolean getBoolean(String name, boolean defaultValue) {
73
                XMLEntity node = this.getNode();
74
75
                if (!node.contains(name)) {
76
                        return defaultValue;
77
                }
78
                boolean value = node.getBooleanProperty(name);
79
                return value;
80
        }
81
82
        public byte[] getByteArray(String name, byte[] defaultValue) {
83
                XMLEntity node = this.getNode();
84
85
                if (!node.contains(name)) {
86
                        return defaultValue;
87
                }
88
                byte[] value = node.getByteArrayProperty(name);
89
                return value;
90
        }
91
92
        public double getDouble(String name, double defaultValue) {
93
                XMLEntity node = this.getNode();
94
95
                if (!node.contains(name)) {
96
                        return defaultValue;
97
                }
98
                double value = node.getDoubleProperty(name);
99
                return value;
100
        }
101
102
        public float getFloat(String name, float defaultValue) {
103
                XMLEntity node = this.getNode();
104
105
                if (!node.contains(name)) {
106
                        return defaultValue;
107
                }
108
                float value = node.getFloatProperty(name);
109
                return value;
110
        }
111
112
        public int getInt(String name, int defaultValue) {
113
                XMLEntity node = this.getNode();
114
115
                if (!node.contains(name)) {
116
                        return defaultValue;
117
                }
118
                int value = node.getIntProperty(name);
119
                return value;
120
        }
121
122
        public long getLong(String name, long defaultValue) {
123
                XMLEntity node = this.getNode();
124
125
                if (!node.contains(name)) {
126
                        return defaultValue;
127
                }
128
                long value = node.getLongProperty(name);
129
                return value;
130
        }
131
132
        public Color getColor(String name, Color defaultValue) {
133
                XMLEntity node = this.getNode();
134
135
                if (!node.contains(name)) {
136
                        return defaultValue;
137
                }
138
                String value = node.getStringProperty(name);
139
                return  StringUtilities.string2Color(value);
140
        }
141
142
        public void put(String name, String value) {
143
                XMLEntity node = this.getNode();
144
145
                node.putProperty(name, value);
146
        }
147
148
        public void putBoolean(String name, boolean value) {
149
                XMLEntity node = this.getNode();
150
151
                node.putProperty(name, value);
152
        }
153
154
        public void putByteArray(String name, byte[] value) {
155
                XMLEntity node = this.getNode();
156
157
                node.putProperty(name, value);
158
        }
159
160
        public void putDouble(String name, double value) {
161
                XMLEntity node = this.getNode();
162
163
                node.putProperty(name, value);
164
        }
165
166
        public void putFloat(String name, float value) {
167
                XMLEntity node = this.getNode();
168
169
                node.putProperty(name, value);
170
        }
171
172
        public void putInt(String name, int value) {
173
                XMLEntity node = this.getNode();
174
175
                node.putProperty(name, value);
176
        }
177
178
        public void putLong(String name, long value) {
179
                XMLEntity node = this.getNode();
180
181
                node.putProperty(name, value);
182
        }
183
184
        public void remove(String name) {
185
                XMLEntity node = this.getNode();
186
187
                if (!node.contains(name)) {
188
                        return;
189
                }
190
                node.remove(name);
191
        }
192
193
        public void sync() throws Exception {
194
                // do nothing
195
        }
196
197
}