mondrian.olap.fun
Class SetFunDef.MemberSetListCalc

java.lang.Object
  extended by mondrian.calc.impl.AbstractCalc
      extended by mondrian.calc.impl.AbstractMemberListCalc
          extended by mondrian.olap.fun.SetFunDef.MemberSetListCalc
All Implemented Interfaces:
Calc, ListCalc, MemberListCalc
Enclosing class:
SetFunDef

public static class SetFunDef.MemberSetListCalc
extends AbstractMemberListCalc

Compiled expression to implement the MDX set function, { ... }, applied to a set of members, as a list.

The set function can contain expressions which yield sets together with expressions which yield individual members, provided that they all have the same type. It automatically removes null members from the list.

The implementation uses VoidCalc objects with side-effects to avoid generating lots of intermediate lists.


Field Summary
 
Fields inherited from class mondrian.calc.impl.AbstractCalc
exp, type
 
Constructor Summary
SetFunDef.MemberSetListCalc(Exp exp, Exp[] args, ExpCompiler compiler, List<ResultStyle> resultStyles)
           
 
Method Summary
 List<Member> evaluateMemberList(Evaluator evaluator)
          Evaluates an expression to yield a list of members.
 Calc[] getCalcs()
          Returns this expression's child expressions.
 
Methods inherited from class mondrian.calc.impl.AbstractMemberListCalc
evaluate, evaluateList, getResultStyle, getType, toString
 
Methods inherited from class mondrian.calc.impl.AbstractCalc
accept, anyDepends, anyDependsButFirst, butDepends, dependsOn, getArguments, getName, simplifyEvaluator
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface mondrian.calc.Calc
accept, dependsOn
 

Constructor Detail

SetFunDef.MemberSetListCalc

public SetFunDef.MemberSetListCalc(Exp exp,
                                   Exp[] args,
                                   ExpCompiler compiler,
                                   List<ResultStyle> resultStyles)
Method Detail

getCalcs

public Calc[] getCalcs()
Description copied from class: AbstractCalc
Returns this expression's child expressions.

Overrides:
getCalcs in class AbstractCalc

evaluateMemberList

public List<Member> evaluateMemberList(Evaluator evaluator)
Description copied from interface: MemberListCalc
Evaluates an expression to yield a list of members.

The list is immutable if Calc.getResultStyle() yields ResultStyle.MUTABLE_LIST. Otherwise, the caller must not modify the list.

Parameters:
evaluator - Evaluation context
Returns:
A list of members, never null.

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