1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.hadoop.hbase.security.visibility.expression;
19
20 import org.apache.hadoop.hbase.classification.InterfaceAudience;
21
22 @InterfaceAudience.Private
23 public class LeafExpressionNode implements ExpressionNode {
24 public static final LeafExpressionNode OPEN_PARAN_NODE = new LeafExpressionNode("(");
25 public static final LeafExpressionNode CLOSE_PARAN_NODE = new LeafExpressionNode(")");
26
27 private String identifier;
28
29 public LeafExpressionNode(String identifier) {
30 this.identifier = identifier;
31 }
32
33 public String getIdentifier() {
34 return this.identifier;
35 }
36
37 @Override
38 public int hashCode() {
39 return this.identifier.hashCode();
40 }
41
42 @Override
43 public boolean equals(Object obj) {
44 if (obj instanceof LeafExpressionNode) {
45 LeafExpressionNode that = (LeafExpressionNode) obj;
46 return this.identifier.equals(that.identifier);
47 }
48 return false;
49 }
50
51 @Override
52 public String toString() {
53 return this.identifier;
54 }
55
56 @Override
57 public boolean isSingleNode() {
58 return true;
59 }
60
61 public LeafExpressionNode deepClone() {
62 LeafExpressionNode clone = new LeafExpressionNode(this.identifier);
63 return clone;
64 }
65 }