1 10 package mondrian.rolap; 11 12 import java.util.EventObject ; 13 14 import mondrian.olap.Exp; 15 import mondrian.olap.FunDef; 16 import mondrian.olap.NativeEvaluator; 17 18 28 public abstract class RolapNative { 29 30 private boolean enabled; 31 32 class NativeEvent extends EventObject { 33 NativeEvaluator neval; 34 public NativeEvent(Object source, NativeEvaluator neval) { 35 super(source); 36 this.neval = neval; 37 } 38 NativeEvaluator getNativeEvaluator() { 39 return neval; 40 } 41 } 42 43 class TupleEvent extends EventObject { 44 private TupleReader tupleReader; 45 46 public TupleEvent(Object source, TupleReader tupleReader) { 47 super(source); 48 this.tupleReader = tupleReader; 49 } 50 51 TupleReader getTupleReader() { 52 return tupleReader; 53 } 54 55 } 56 57 interface Listener { 58 void foundEvaluator(NativeEvent e); 59 void foundInCache(TupleEvent e); 60 void excutingSql(TupleEvent e); 61 } 62 63 protected Listener listener; 64 65 69 abstract NativeEvaluator createEvaluator(RolapEvaluator evaluator, FunDef fun, Exp[] args); 70 71 74 boolean isEnabled() { 75 return enabled; 76 } 77 78 void setEnabled(boolean enabled) { 79 this.enabled = enabled; 80 } 81 82 Listener getListener() { 83 return listener; 84 } 85 86 void setListener(Listener listener) { 87 this.listener = listener; 88 } 89 90 94 abstract void useHardCache(boolean hard); 95 } 96 97 | Popular Tags |