1 package com.loribel.commons.abstraction;
2
3 import com.loribel.commons.exception.*;
4
5 /***
6 * Abstraction of a selector.
7 */
8 public interface GB_Selector
9 {
10 /***
11 * Returns the type of selector.
12 */
13 int getType();
14
15 /***
16 * Returns true if null is accepted.
17 */
18 boolean isAcceptNull();
19
20 /***
21 * accept visitor
22 */
23 Object accept(
24 GB_SelectorVisitor a_visitor)
25 throws GB_VisitorException;
26
27 /***
28 * Returns true if the selector correspond to an interval.
29 */
30 boolean isInterval();
31
32 /***
33 * If selector is interval, returns it, otherwise returns null.
34 */
35 GB_Interval toInterval();
36
37 /***
38 * Must return true if the selector is ignored.
39 */
40 boolean isByPass();
41
42 boolean isInverse();
43 }