1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.hadoop.hbase.regionserver.wal;
20
21 import java.lang.reflect.Constructor;
22 import java.lang.reflect.InvocationTargetException;
23 import org.apache.hadoop.classification.InterfaceAudience;
24
25
26
27
28 @InterfaceAudience.Private
29 class CompressionContext {
30 final Dictionary regionDict;
31 final Dictionary tableDict;
32 final Dictionary familyDict;
33 final Dictionary qualifierDict;
34 final Dictionary rowDict;
35
36 public CompressionContext(Class<? extends Dictionary> dictType)
37 throws SecurityException, NoSuchMethodException, InstantiationException,
38 IllegalAccessException, InvocationTargetException {
39 Constructor<? extends Dictionary> dictConstructor =
40 dictType.getConstructor();
41 regionDict = dictConstructor.newInstance();
42 tableDict = dictConstructor.newInstance();
43 familyDict = dictConstructor.newInstance();
44 qualifierDict = dictConstructor.newInstance();
45 rowDict = dictConstructor.newInstance();
46 }
47
48 void clear() {
49 regionDict.clear();
50 tableDict.clear();
51 familyDict.clear();
52 qualifierDict.clear();
53 rowDict.clear();
54 }
55 }