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 }