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.expreval.client.NullColumnValueException;
24 import org.apache.expreval.client.ResultMissingColumnException;
25 import org.apache.hadoop.hbase.client.Result;
26 import org.apache.hadoop.hbase.hbql.client.HBqlException;
27 import org.apache.hadoop.hbase.hbql.statement.select.SelectExpressionContext;
28
29 public class AggregateValue extends ColumnValue {
30
31 final SelectExpressionContext context;
32 boolean valueSet = false;
33
34 public AggregateValue(final String name, final SelectExpressionContext context) {
35 super(name);
36 this.context = context;
37 }
38
39 private SelectExpressionContext getContext() {
40 return this.context;
41 }
42
43 public boolean isValueSet() {
44 return this.valueSet;
45 }
46
47 private void setValueSet(final boolean valueSet) {
48 this.valueSet = valueSet;
49 }
50
51 public void initAggregateValue() throws HBqlException {
52 this.getContext().initAggregateValue(this);
53 }
54
55 public void applyValues(final Result result) throws HBqlException,
56 ResultMissingColumnException,
57 NullColumnValueException {
58 this.getContext().applyResultToAggregateValue(this, result);
59 }
60
61 public Object getValue() {
62 return super.getCurrentValue();
63 }
64
65 public void setValue(final Object val) {
66 super.setCurrentValue(0, val);
67 setValueSet(true);
68 }
69 }