Package mondrian.rolap
Class RolapNative
- java.lang.Object
-
- mondrian.rolap.RolapNative
-
- Direct Known Subclasses:
RolapNativeRegistry,RolapNativeSet
public abstract class RolapNative extends Object
A factory forNativeEvaluator. If the instance returns null, then the interpreter must compute the result itself. If it returns a NativeEvaluator the interpreter may choose to let the NativeEvaluator compute the result.There exist multiple RolapNative implementations, e.g. for CrossJoin, TopCount, Filter etc. If the arguments of these functions are simple enough to be evaluated in SQL then a NativeEvaluator will be returned that performs the computations in SQL. Otherwise null will be returned.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static interfaceRolapNative.Listener(package private) static classRolapNative.NativeEvent(package private) static classRolapNative.TupleEvent
-
Field Summary
Fields Modifier and Type Field Description protected RolapNative.Listenerlistener
-
Constructor Summary
Constructors Constructor Description RolapNative()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description (package private) abstract NativeEvaluatorcreateEvaluator(RolapEvaluator evaluator, FunDef fun, Exp[] args)If function can be implemented in SQL, returns a NativeEvaluator that computes the result; otherwise returns null.(package private) RolapNative.ListenergetListener()(package private) booleanisEnabled()if enabled == false, then createEvaluator will always return null(package private) voidsetEnabled(boolean enabled)(package private) voidsetListener(RolapNative.Listener listener)(package private) abstract voiduseHardCache(boolean hard)Sets whether to use hard caching for testing.
-
-
-
Field Detail
-
listener
protected RolapNative.Listener listener
-
-
Method Detail
-
createEvaluator
abstract NativeEvaluator createEvaluator(RolapEvaluator evaluator, FunDef fun, Exp[] args)
If function can be implemented in SQL, returns a NativeEvaluator that computes the result; otherwise returns null.
-
isEnabled
boolean isEnabled()
if enabled == false, then createEvaluator will always return null
-
setEnabled
void setEnabled(boolean enabled)
-
getListener
RolapNative.Listener getListener()
-
setListener
void setListener(RolapNative.Listener listener)
-
useHardCache
abstract void useHardCache(boolean hard)
Sets whether to use hard caching for testing. When using soft references, we can not test caching because things may be garbage collected during the tests.
-
-