mondrian.rolap.sql
Class CrossJoinArgFactory

java.lang.Object
  extended by mondrian.rolap.sql.CrossJoinArgFactory

public class CrossJoinArgFactory
extends Object

Creates CrossJoinArgs for use in constraining SQL queries.

Since:
Dec 15, 2009
Author:
kwalker

Field Summary
protected static org.apache.log4j.Logger LOGGER
           
 
Constructor Summary
CrossJoinArgFactory(boolean restrictMemberTypes)
           
 
Method Summary
 Set<CrossJoinArg> buildConstraintFromAllAxes(RolapEvaluator evaluator)
           
 List<CrossJoinArg[]> checkCrossJoin(RolapEvaluator evaluator, FunDef fun, Exp[] args, boolean returnAny)
          Checks for CrossJoin(<set1>, <set2>), where set1 and set2 are one of member.children, level.members or member.descendants.
 List<CrossJoinArg[]> checkCrossJoinArg(RolapEvaluator evaluator, Exp exp)
          Scans for memberChildren, levelMembers, memberDescendants, crossJoin.
(package private)  List<CrossJoinArg[]> checkCrossJoinArg(RolapEvaluator evaluator, Exp exp, boolean returnAny)
          Checks whether an expression can be natively evaluated.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOGGER

protected static final org.apache.log4j.Logger LOGGER
Constructor Detail

CrossJoinArgFactory

public CrossJoinArgFactory(boolean restrictMemberTypes)
Method Detail

buildConstraintFromAllAxes

public Set<CrossJoinArg> buildConstraintFromAllAxes(RolapEvaluator evaluator)

checkCrossJoinArg

public List<CrossJoinArg[]> checkCrossJoinArg(RolapEvaluator evaluator,
                                              Exp exp)
Scans for memberChildren, levelMembers, memberDescendants, crossJoin.


checkCrossJoinArg

List<CrossJoinArg[]> checkCrossJoinArg(RolapEvaluator evaluator,
                                       Exp exp,
                                       boolean returnAny)
Checks whether an expression can be natively evaluated. The following expressions can be natively evaluated:

Parameters:
evaluator - Evaluator
exp - Expresssion
Returns:
List of CrossJoinArg arrays. The first array represent the CJ CrossJoinArg and the second array represent the additional constraints.

checkCrossJoin

public List<CrossJoinArg[]> checkCrossJoin(RolapEvaluator evaluator,
                                           FunDef fun,
                                           Exp[] args,
                                           boolean returnAny)
Checks for CrossJoin(<set1>, <set2>), where set1 and set2 are one of member.children, level.members or member.descendants.

Parameters:
evaluator - Evaluator to use if inputs are to be evaluated
fun - The function, either "CrossJoin" or "NonEmptyCrossJoin"
args - Inputs to the CrossJoin
returnAny - indicates we should return any valid crossjoin args
Returns:
array of CrossJoinArg representing the inputs

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