View Javadoc

1   /**
2    *
3    * Licensed to the Apache Software Foundation (ASF) under one
4    * or more contributor license agreements.  See the NOTICE file
5    * distributed with this work for additional information
6    * regarding copyright ownership.  The ASF licenses this file
7    * to you under the Apache License, Version 2.0 (the
8    * "License"); you may not use this file except in compliance
9    * with the License.  You may obtain a copy of the License at
10   *
11   *     http://www.apache.org/licenses/LICENSE-2.0
12   *
13   * Unless required by applicable law or agreed to in writing, software
14   * distributed under the License is distributed on an "AS IS" BASIS,
15   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16   * See the License for the specific language governing permissions and
17   * limitations under the License.
18   */
19  package org.apache.hadoop.hbase.filter;
20  
21  import org.apache.hadoop.classification.InterfaceAudience;
22  import org.apache.hadoop.classification.InterfaceStability;
23  
24  import java.nio.ByteBuffer;
25  
26  /**
27   * ParseConstants holds a bunch of constants related to parsing Filter Strings
28   * Used by {@link ParseFilter}
29   */
30  @InterfaceAudience.Public
31  @InterfaceStability.Stable
32  public final class ParseConstants {
33  
34    /**
35     * ASCII code for LPAREN
36     */
37    public static final int LPAREN = '(';
38  
39    /**
40     * ASCII code for RPAREN
41     */
42    public static final int RPAREN = ')';
43  
44    /**
45     * ASCII code for whitespace
46     */
47    public static final int WHITESPACE = ' ';
48  
49    /**
50     * ASCII code for tab
51     */
52    public static final int TAB = '\t';
53  
54    /**
55     * ASCII code for 'A'
56     */
57    public static final int A = 'A';
58  
59    /**
60     * ASCII code for 'N'
61     */
62    public static final int N = 'N';
63  
64    /**
65     * ASCII code for 'D'
66     */
67    public static final int D = 'D';
68  
69    /**
70     * ASCII code for 'O'
71     */
72    public static final int O = 'O';
73  
74    /**
75     * ASCII code for 'R'
76     */
77    public static final int R = 'R';
78  
79    /**
80     * ASCII code for 'S'
81     */
82    public static final int S = 'S';
83  
84    /**
85     * ASCII code for 'K'
86     */
87    public static final int K = 'K';
88  
89    /**
90     * ASCII code for 'I'
91     */
92    public static final int I = 'I';
93  
94    /**
95     * ASCII code for 'P'
96     */
97    public static final int P = 'P';
98  
99    /**
100    * SKIP Array
101    */
102   public static final byte [] SKIP_ARRAY = new byte [ ] {'S', 'K', 'I', 'P'};
103   public static final ByteBuffer SKIP_BUFFER = ByteBuffer.wrap(SKIP_ARRAY);
104 
105   /**
106    * ASCII code for 'W'
107    */
108   public static final int W = 'W';
109 
110   /**
111    * ASCII code for 'H'
112    */
113   public static final int H = 'H';
114 
115   /**
116    * ASCII code for 'L'
117    */
118   public static final int L = 'L';
119 
120   /**
121    * ASCII code for 'E'
122    */
123   public static final int E = 'E';
124 
125   /**
126    * WHILE Array
127    */
128   public static final byte [] WHILE_ARRAY = new byte [] {'W', 'H', 'I', 'L', 'E'};
129   public static final ByteBuffer WHILE_BUFFER = ByteBuffer.wrap(WHILE_ARRAY);
130 
131   /**
132    * OR Array
133    */
134   public static final byte [] OR_ARRAY = new byte [] {'O','R'};
135   public static final ByteBuffer OR_BUFFER = ByteBuffer.wrap(OR_ARRAY);
136 
137   /**
138    * AND Array
139    */
140   public static final byte [] AND_ARRAY = new byte [] {'A','N', 'D'};
141   public static final ByteBuffer AND_BUFFER = ByteBuffer.wrap(AND_ARRAY);
142 
143   /**
144    * ASCII code for Backslash
145    */
146   public static final int BACKSLASH = '\\';
147 
148   /**
149    * ASCII code for a single quote
150    */
151   public static final int SINGLE_QUOTE = '\'';
152 
153   /**
154    * ASCII code for a comma
155    */
156   public static final int COMMA = ',';
157 
158   /**
159    * LESS_THAN Array
160    */
161   public static final byte [] LESS_THAN_ARRAY = new byte [] {'<'};
162   public static final ByteBuffer LESS_THAN_BUFFER = ByteBuffer.wrap(LESS_THAN_ARRAY);
163 
164   /**
165    * LESS_THAN_OR_EQUAL_TO Array
166    */
167   public static final byte [] LESS_THAN_OR_EQUAL_TO_ARRAY = new byte [] {'<', '='};
168   public static final ByteBuffer LESS_THAN_OR_EQUAL_TO_BUFFER =
169     ByteBuffer.wrap(LESS_THAN_OR_EQUAL_TO_ARRAY);
170 
171   /**
172    * GREATER_THAN Array
173    */
174   public static final byte [] GREATER_THAN_ARRAY = new byte [] {'>'};
175   public static final ByteBuffer GREATER_THAN_BUFFER = ByteBuffer.wrap(GREATER_THAN_ARRAY);
176 
177   /**
178    * GREATER_THAN_OR_EQUAL_TO Array
179    */
180   public static final byte [] GREATER_THAN_OR_EQUAL_TO_ARRAY = new byte [] {'>', '='};
181   public static final ByteBuffer GREATER_THAN_OR_EQUAL_TO_BUFFER =
182     ByteBuffer.wrap(GREATER_THAN_OR_EQUAL_TO_ARRAY);
183 
184   /**
185    * EQUAL_TO Array
186    */
187   public static final byte [] EQUAL_TO_ARRAY = new byte [] {'='};
188   public static final ByteBuffer EQUAL_TO_BUFFER = ByteBuffer.wrap(EQUAL_TO_ARRAY);
189 
190   /**
191    * NOT_EQUAL_TO Array
192    */
193   public static final byte [] NOT_EQUAL_TO_ARRAY = new byte [] {'!', '='};
194   public static final ByteBuffer NOT_EQUAL_TO_BUFFER = ByteBuffer.wrap(NOT_EQUAL_TO_ARRAY);
195 
196   /**
197    * ASCII code for equal to (=)
198    */
199   public static final int EQUAL_TO = '=';
200 
201   /**
202    * AND Byte Array
203    */
204   public static final byte [] AND = new byte [] {'A','N','D'};
205 
206   /**
207    * OR Byte Array
208    */
209   public static final byte [] OR = new byte [] {'O', 'R'};
210 
211   /**
212    * LPAREN Array
213    */
214   public static final byte [] LPAREN_ARRAY = new byte [] {'('};
215   public static final ByteBuffer LPAREN_BUFFER = ByteBuffer.wrap(LPAREN_ARRAY);
216 
217   /**
218    * ASCII code for colon (:)
219    */
220   public static final int COLON = ':';
221 
222   /**
223    * ASCII code for Zero
224    */
225   public static final int ZERO = '0';
226 
227   /**
228    * ASCII code foe Nine
229    */
230   public static final int NINE = '9';
231 
232   /**
233    * BinaryType byte array
234    */
235   public static final byte [] binaryType = new byte [] {'b','i','n','a','r','y'};
236 
237   /**
238    * BinaryPrefixType byte array
239    */
240   public static final byte [] binaryPrefixType = new byte [] {'b','i','n','a','r','y',
241                                                               'p','r','e','f','i','x'};
242 
243   /**
244    * RegexStringType byte array
245    */
246   public static final byte [] regexStringType = new byte [] {'r','e','g','e', 'x',
247                                                              's','t','r','i','n','g'};
248 
249   /**
250    * SubstringType byte array
251    */
252   public static final byte [] substringType = new byte [] {'s','u','b','s','t','r','i','n','g'};
253 
254   /**
255    * ASCII for Minus Sign
256    */
257   public static final int MINUS_SIGN = '-';
258 
259   /**
260    * Package containing filters
261    */
262   public static final String FILTER_PACKAGE = "org.apache.hadoop.hbase.filter";
263 }