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