1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.expreval.expr.node;
22
23 import org.apache.expreval.client.NullColumnValueException;
24 import org.apache.expreval.client.ResultMissingColumnException;
25 import org.apache.expreval.expr.MultipleExpressionContext;
26 import org.apache.hadoop.hbase.client.Result;
27 import org.apache.hadoop.hbase.filter.Filter;
28 import org.apache.hadoop.hbase.hbql.client.HBqlException;
29 import org.apache.hadoop.hbase.hbql.impl.AggregateValue;
30 import org.apache.hadoop.hbase.hbql.impl.HConnectionImpl;
31
32 import java.io.Serializable;
33
34 public interface GenericValue extends Serializable {
35
36 static final long serialVersionUID = 1L;
37
38 void setExpressionContext(MultipleExpressionContext context) throws HBqlException;
39
40 Object getValue(HConnectionImpl connection, Object object) throws HBqlException,
41 ResultMissingColumnException,
42 NullColumnValueException;
43
44 Filter getFilter() throws HBqlException;
45
46 GenericValue getOptimizedValue() throws HBqlException;
47
48 Class<? extends GenericValue> validateTypes(GenericValue parentExpr, boolean allowCollections) throws HBqlException;
49
50 boolean isAConstant();
51
52 boolean isDefaultKeyword();
53
54 boolean isAnAggregateValue();
55
56 void initAggregateValue(AggregateValue aggregateValue) throws HBqlException;
57
58 void applyResultToAggregateValue(AggregateValue aggregateValue, Result result) throws HBqlException,
59 ResultMissingColumnException,
60 NullColumnValueException;
61
62 boolean hasAColumnReference();
63
64 boolean isAColumnReference();
65
66 String asString();
67
68 void reset();
69 }