1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.hadoop.hbase.rest.model;
22
23 import java.io.Serializable;
24 import java.util.HashMap;
25 import java.util.Map;
26
27 import javax.xml.bind.annotation.XmlAnyAttribute;
28 import javax.xml.bind.annotation.XmlAttribute;
29 import javax.xml.bind.annotation.XmlRootElement;
30 import javax.xml.namespace.QName;
31
32 import org.apache.hadoop.hbase.HColumnDescriptor;
33 import org.apache.hadoop.hbase.HConstants;
34
35
36
37
38
39
40
41
42
43
44
45 @XmlRootElement(name="ColumnSchema")
46 public class ColumnSchemaModel implements Serializable {
47 private static final long serialVersionUID = 1L;
48 private static QName BLOCKCACHE = new QName(HColumnDescriptor.BLOCKCACHE);
49 private static QName BLOCKSIZE = new QName(HColumnDescriptor.BLOCKSIZE);
50 private static QName BLOOMFILTER = new QName(HColumnDescriptor.BLOOMFILTER);
51 private static QName COMPRESSION = new QName(HColumnDescriptor.COMPRESSION);
52 private static QName IN_MEMORY = new QName(HConstants.IN_MEMORY);
53 private static QName TTL = new QName(HColumnDescriptor.TTL);
54 private static QName VERSIONS = new QName(HConstants.VERSIONS);
55
56 private String name;
57 private Map<QName,Object> attrs = new HashMap<QName,Object>();
58
59
60
61
62 public ColumnSchemaModel() {}
63
64
65
66
67
68
69 public void addAttribute(String name, Object value) {
70 attrs.put(new QName(name), value);
71 }
72
73
74
75
76
77 public String getAttribute(String name) {
78 Object o = attrs.get(new QName(name));
79 return o != null ? o.toString(): null;
80 }
81
82
83
84
85 @XmlAttribute
86 public String getName() {
87 return name;
88 }
89
90
91
92
93 @XmlAnyAttribute
94 public Map<QName,Object> getAny() {
95 return attrs;
96 }
97
98
99
100
101 public void setName(String name) {
102 this.name = name;
103 }
104
105
106
107
108 @Override
109 public String toString() {
110 StringBuilder sb = new StringBuilder();
111 sb.append("{ NAME => '");
112 sb.append(name);
113 sb.append('\'');
114 for (Map.Entry<QName,Object> e: attrs.entrySet()) {
115 sb.append(", ");
116 sb.append(e.getKey().getLocalPart());
117 sb.append(" => '");
118 sb.append(e.getValue().toString());
119 sb.append('\'');
120 }
121 sb.append(" }");
122 return sb.toString();
123 }
124
125
126
127
128
129
130
131
132
133 public boolean __getBlockcache() {
134 Object o = attrs.get(BLOCKCACHE);
135 return o != null ?
136 Boolean.valueOf(o.toString()) : HColumnDescriptor.DEFAULT_BLOCKCACHE;
137 }
138
139
140
141
142 public int __getBlocksize() {
143 Object o = attrs.get(BLOCKSIZE);
144 return o != null ?
145 Integer.valueOf(o.toString()) : HColumnDescriptor.DEFAULT_BLOCKSIZE;
146 }
147
148
149
150
151 public String __getBloomfilter() {
152 Object o = attrs.get(BLOOMFILTER);
153 return o != null ? o.toString() : HColumnDescriptor.DEFAULT_BLOOMFILTER;
154 }
155
156
157
158
159 public String __getCompression() {
160 Object o = attrs.get(COMPRESSION);
161 return o != null ? o.toString() : HColumnDescriptor.DEFAULT_COMPRESSION;
162 }
163
164
165
166
167 public boolean __getInMemory() {
168 Object o = attrs.get(IN_MEMORY);
169 return o != null ?
170 Boolean.valueOf(o.toString()) : HColumnDescriptor.DEFAULT_IN_MEMORY;
171 }
172
173
174
175
176 public int __getTTL() {
177 Object o = attrs.get(TTL);
178 return o != null ?
179 Integer.valueOf(o.toString()) : HColumnDescriptor.DEFAULT_TTL;
180 }
181
182
183
184
185 public int __getVersions() {
186 Object o = attrs.get(VERSIONS);
187 return o != null ?
188 Integer.valueOf(o.toString()) : HColumnDescriptor.DEFAULT_VERSIONS;
189 }
190
191
192
193
194 public void __setBlocksize(int value) {
195 attrs.put(BLOCKSIZE, Integer.toString(value));
196 }
197
198
199
200
201 public void __setBlockcache(boolean value) {
202 attrs.put(BLOCKCACHE, Boolean.toString(value));
203 }
204
205 public void __setBloomfilter(String value) {
206 attrs.put(BLOOMFILTER, value);
207 }
208
209
210
211
212 public void __setCompression(String value) {
213 attrs.put(COMPRESSION, value);
214 }
215
216
217
218
219 public void __setInMemory(boolean value) {
220 attrs.put(IN_MEMORY, Boolean.toString(value));
221 }
222
223
224
225
226 public void __setTTL(int value) {
227 attrs.put(TTL, Integer.toString(value));
228 }
229
230
231
232
233 public void __setVersions(int value) {
234 attrs.put(VERSIONS, Integer.toString(value));
235 }
236 }