mondrian.rolap
Class RolapEvaluatorRoot

java.lang.Object
  extended by mondrian.rolap.RolapEvaluatorRoot
Direct Known Subclasses:
RolapResult.RolapResultEvaluatorRoot

 class RolapEvaluatorRoot
extends java.lang.Object

Context at the root of a tree of evaluators.

Contains the context that does not change as evaluation context is pushed/popped.

Since:
Nov 11, 2008
Version:
$Id: //open/mondrian/src/main/mondrian/rolap/RolapEvaluatorRoot.java#7 $
Author:
jhyde

Field Summary
(package private)  java.util.Map<java.util.List<java.lang.Object>,Calc> compiledExps
           
(package private)  RolapConnection connection
           
(package private)  RolapCube cube
           
(package private)  Dialect currentDialect
           
(package private)  RolapMember[] defaultMembers
          Default members of each hierarchy, from the schema reader's perspective.
(package private)  java.util.Map<java.lang.Object,java.lang.Object> expResultCache
           
(package private)  Query query
           
(package private)  SchemaReader schemaReader
           
(package private)  MondrianProperties.SolveOrderModeEnum solveOrderMode
           
(package private)  java.util.Map<java.lang.Object,java.lang.Object> tmpExpResultCache
           
 
Constructor Summary
RolapEvaluatorRoot(Query query)
          Creates a RolapEvaluatorRoot.
 
Method Summary
 void clearResultCache(boolean clearValidResult)
          Clears the expression result cache.
protected  Evaluator.NamedSetEvaluator evaluateNamedSet(NamedSet namedSet, boolean create)
          Evaluates a named set.
 java.lang.Object getCacheResult(java.lang.Object key)
          Gets result from cache.
(package private)  Calc getCompiled(Exp exp, boolean scalar, ResultStyle resultStyle)
          Implements a cheap-and-cheerful mapping from expressions to compiled expressions.
 java.lang.Object getParameterValue(ParameterSlot slot)
          Returns the value of a parameter, evaluating its default expression if necessary.
 java.util.Date getQueryStartTime()
          Get query start time.
protected  void init(Evaluator evaluator)
          First evaluator calls this method on construction.
 void putCacheResult(java.lang.Object key, java.lang.Object result, boolean isValidResult)
          Puts result in cache.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

expResultCache

final java.util.Map<java.lang.Object,java.lang.Object> expResultCache

tmpExpResultCache

final java.util.Map<java.lang.Object,java.lang.Object> tmpExpResultCache

cube

final RolapCube cube

connection

final RolapConnection connection

schemaReader

final SchemaReader schemaReader

compiledExps

final java.util.Map<java.util.List<java.lang.Object>,Calc> compiledExps

query

final Query query

currentDialect

final Dialect currentDialect

defaultMembers

final RolapMember[] defaultMembers
Default members of each hierarchy, from the schema reader's perspective. Finding the default member is moderately expensive, but happens very often.


solveOrderMode

final MondrianProperties.SolveOrderModeEnum solveOrderMode
Constructor Detail

RolapEvaluatorRoot

public RolapEvaluatorRoot(Query query)
Creates a RolapEvaluatorRoot.

Parameters:
query - Query
Method Detail

getCompiled

final Calc getCompiled(Exp exp,
                       boolean scalar,
                       ResultStyle resultStyle)
Implements a cheap-and-cheerful mapping from expressions to compiled expressions.

TODO: Save compiled expressions somewhere better.

Parameters:
exp - Expression
scalar - Whether expression is scalar
resultStyle - Preferred result style; if null, use query's default result style; ignored if expression is scalar
Returns:
compiled expression

evaluateNamedSet

protected Evaluator.NamedSetEvaluator evaluateNamedSet(NamedSet namedSet,
                                                       boolean create)
Evaluates a named set.

The default implementation throws UnsupportedOperationException.

Parameters:
namedSet - Named set
create - Whether to create named set evaluator if not found

init

protected void init(Evaluator evaluator)
First evaluator calls this method on construction.


getParameterValue

public java.lang.Object getParameterValue(ParameterSlot slot)
Returns the value of a parameter, evaluating its default expression if necessary.

The default implementation throws UnsupportedOperationException.


putCacheResult

public final void putCacheResult(java.lang.Object key,
                                 java.lang.Object result,
                                 boolean isValidResult)
Puts result in cache.

Parameters:
key - key
result - value to be cached
isValidResult - indicate if this result is valid

getCacheResult

public final java.lang.Object getCacheResult(java.lang.Object key)
Gets result from cache.

Parameters:
key - cache key
Returns:
cached expression

clearResultCache

public final void clearResultCache(boolean clearValidResult)
Clears the expression result cache.

Parameters:
clearValidResult - whether to clear valid expression results

getQueryStartTime

public java.util.Date getQueryStartTime()
Get query start time.

Returns:
the query start time

Get Mondrian at SourceForge.net. Fast, secure and free Open Source software downloads