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.hbql.impl;
22
23 import org.apache.hadoop.hbase.hbql.client.HBqlException;
24 import org.apache.hadoop.hbase.hbql.util.Maps;
25
26 import java.util.Map;
27 import java.util.NavigableMap;
28
29 public abstract class ValueMap<T> extends Value {
30
31 private final Map<String, CurrentAndVersionValue<T>> currentAndVersionMap = Maps.newHashMap();
32
33 protected ValueMap(final String name) throws HBqlException {
34 super(name);
35 }
36
37 public Map<String, CurrentAndVersionValue<T>> getCurrentAndVersionMap() {
38 return this.currentAndVersionMap;
39 }
40
41 private CurrentAndVersionValue<T> getMapValue(final String mapKey) throws HBqlException {
42
43 CurrentAndVersionValue<T> hvalue = this.getCurrentAndVersionMap().get(mapKey);
44 if (hvalue == null) {
45 hvalue = new CurrentAndVersionValue<T>(null);
46 this.getCurrentAndVersionMap().put(mapKey, hvalue);
47 }
48 return hvalue;
49 }
50
51 public void setCurrentValueMap(final long timestamp, final String mapKey, final T val) throws HBqlException {
52 this.getMapValue(mapKey).setCurrentValue(timestamp, val);
53 }
54
55
56
57
58
59
60 public void setVersionMap(final String name, final NavigableMap<Long, T> val) throws HBqlException {
61 this.getMapValue(name).setVersionMap(val);
62 }
63 }