mondrian.rolap
public class RolapResult extends ResultBase
RolapResult
is the result of running a query.Modifier and Type | Class and Description |
---|---|
(package private) static class |
RolapResult.CellFormatterValueFormatter
A CellFormatterValueFormatter uses a user-defined
CellFormatter
to format values. |
(package private) static class |
RolapResult.CellInfo
A CellInfo contains all of the information that a Cell requires.
|
(package private) static interface |
RolapResult.CellInfoContainer
API for the creation and
lookup of
RolapResult.CellInfo objects. |
(package private) static class |
RolapResult.CellInfoMap
Implementation of
RolapResult.CellInfoContainer which uses a Map to
store CellInfo Objects. |
(package private) static class |
RolapResult.CellInfoPool
Implementation of
RolapResult.CellInfoContainer which uses an
ObjectPool to store RolapResult.CellInfo Objects. |
(package private) static class |
RolapResult.FormatValueFormatter
|
protected static class |
RolapResult.RolapResultEvaluatorRoot
Extension to
RolapEvaluatorRoot which is capable
of evaluating named sets.
A given set is only evaluated once each time a query is executed; the
result is added to the RolapResult.RolapResultEvaluatorRoot.namedSetEvaluators cache on first execution
and re-used. |
(package private) static interface |
RolapResult.ValueFormatter
Formatter to convert values into formatted strings.
|
Modifier and Type | Field and Description |
---|---|
protected static Map<Locale,RolapResult.ValueFormatter> |
formatValueFormatters
Synchronized Map from Locale to ValueFormatter.
|
(package private) static org.apache.log4j.Logger |
LOGGER |
(package private) RolapEvaluator |
slicerEvaluator |
axes, execution, query, slicerAxis, statement
Constructor and Description |
---|
RolapResult(Execution execution,
boolean execute)
Creates a RolapResult.
|
Modifier and Type | Method and Description |
---|---|
void |
close() |
(package private) TupleIterable |
evalExecute(List<List<Member>> nonAllMembers,
int cnt,
RolapEvaluator evaluator,
QueryAxis queryAxis,
Calc calc) |
(package private) void |
evalLoad(List<List<Member>> nonAllMembers,
int cnt,
Evaluator evaluator,
QueryAxis axis,
Calc calc,
mondrian.rolap.RolapResult.AxisMember axisMembers) |
(package private) Object |
evaluateExp(Calc calc,
RolapEvaluator evaluator)
Evaluates an expression.
|
Axis[] |
getAxes()
Returns the non-slicer axes.
|
Cell |
getCell(int[] pos)
Get the Cell for the given Cell position.
|
(package private) RolapMember[] |
getCellMembers(int[] pos)
Called only by RolapCell.
|
(package private) int |
getCellOrdinal(int[] pos)
Converts a set of cell coordinates to a cell ordinal.
|
RolapCube |
getCube() |
(package private) Evaluator |
getEvaluator(int[] pos) |
Execution |
getExecution() |
protected org.apache.log4j.Logger |
getLogger() |
(package private) Evaluator |
getRootEvaluator() |
(package private) boolean |
isDirty() |
protected void |
loadMembers(List<List<Member>> nonAllMembers,
RolapEvaluator evaluator,
QueryAxis axis,
Calc calc,
mondrian.rolap.RolapResult.AxisMember axisMembers) |
protected void |
loadSpecialMembers(List<Member> nonDefaultAllMembers,
List<List<Member>> nonAllMembers,
List<Member> measureMembers)
Finds all root Members 1) whose Hierarchy does not have an ALL
Member, 2) whose default Member is not the ALL Member and 3)
all Measures.
|
protected void |
makeModulos() |
(package private) static TupleList |
mergeAxes(TupleList axis1,
TupleIterable axis2,
boolean ordered) |
(package private) void |
populateEvaluator(Evaluator evaluator,
int[] pos) |
protected boolean |
removeDimension(Dimension dimension,
List<List<Member>> memberLists) |
protected boolean |
replaceNonAllMembers(List<List<Member>> nonAllMembers,
mondrian.rolap.RolapResult.AxisMember axisMembers) |
getMember, getQuery, getSlicerAxis, print
static final org.apache.log4j.Logger LOGGER
RolapEvaluator slicerEvaluator
protected static final Map<Locale,RolapResult.ValueFormatter> formatValueFormatters
RolapResult(Execution execution, boolean execute)
execution
- Execution of a statementexecute
- Whether to execute the querypublic void close()
close
in interface Result
close
in class ResultBase
protected boolean removeDimension(Dimension dimension, List<List<Member>> memberLists)
public final Execution getExecution()
protected boolean replaceNonAllMembers(List<List<Member>> nonAllMembers, mondrian.rolap.RolapResult.AxisMember axisMembers)
protected void loadMembers(List<List<Member>> nonAllMembers, RolapEvaluator evaluator, QueryAxis axis, Calc calc, mondrian.rolap.RolapResult.AxisMember axisMembers)
void evalLoad(List<List<Member>> nonAllMembers, int cnt, Evaluator evaluator, QueryAxis axis, Calc calc, mondrian.rolap.RolapResult.AxisMember axisMembers)
TupleIterable evalExecute(List<List<Member>> nonAllMembers, int cnt, RolapEvaluator evaluator, QueryAxis queryAxis, Calc calc)
protected void loadSpecialMembers(List<Member> nonDefaultAllMembers, List<List<Member>> nonAllMembers, List<Member> measureMembers)
nonDefaultAllMembers
- List of all root Members for Hierarchies
whose default Member is not the ALL Member.nonAllMembers
- List of root Members for Hierarchies that have no
ALL Member.measureMembers
- List all Measuresprotected org.apache.log4j.Logger getLogger()
getLogger
in class ResultBase
public final RolapCube getCube()
public Axis[] getAxes()
Result
getAxes
in interface Result
getAxes
in class ResultBase
public Cell getCell(int[] pos)
pos
- Cell position.boolean isDirty()
Object evaluateExp(Calc calc, RolapEvaluator evaluator)
Does not modify the contents of the evaluator.
calc
- Compiled expressionevaluator
- Evaluation contextint getCellOrdinal(int[] pos)
This method can be expensive, because the ordinal is computed from the length of the axes, and therefore the axes need to be instantiated.
protected void makeModulos()
RolapMember[] getCellMembers(int[] pos)
pos
- Coordinates of cellEvaluator getRootEvaluator()
Evaluator getEvaluator(int[] pos)
void populateEvaluator(Evaluator evaluator, int[] pos)
static TupleList mergeAxes(TupleList axis1, TupleIterable axis2, boolean ordered)