mondrian.olap.fun
Class DescendantsFunDef

java.lang.Object
  extended by org.eigenbase.xom.XMLUtil
      extended by org.eigenbase.xom.XOMUtil
          extended by mondrian.olap.Util
              extended by mondrian.olap.fun.FunUtil
                  extended by mondrian.olap.fun.FunDefBase
                      extended by mondrian.olap.fun.DescendantsFunDef
All Implemented Interfaces:
FunDef

 class DescendantsFunDef
extends FunDefBase

Definition of the Descendants MDX function.

Since:
Mar 23, 2006
Author:
jhyde
 

Nested Class Summary
(package private) static class DescendantsFunDef.Flag
          Enumeration of the flags allowed to the DESCENDANTS function.
 
Nested classes/interfaces inherited from class mondrian.olap.fun.FunUtil
FunUtil.SetWrapper
 
Nested classes/interfaces inherited from class mondrian.olap.Util
Util.ErrorCellValue, Util.PropertyList
 
Field Summary
(package private) static ReflectiveMultiResolver Resolver
           
 
Fields inherited from class mondrian.olap.fun.FunDefBase
flags, parameterCategories, returnCategory, signature
 
Fields inherited from class mondrian.olap.fun.FunUtil
BooleanNull, DoubleEmpty, DoubleNull, emptyStringArray, IntegerNull, NullMember
 
Fields inherited from class mondrian.olap.Util
EmptyValue, JdbcVersion, nl, nullValue, PreJdk15, Retrowoven
 
Constructor Summary
DescendantsFunDef(FunDef dummyFunDef)
           
 
Method Summary
 Calc compileCall(ResolvedFunCall call, ExpCompiler compiler)
          Converts a call to this function into executable objects.
(package private) static void descendantsByLevel(SchemaReader schemaReader, Member ancestor, Level level, List<Member> result, boolean before, boolean self, boolean after, boolean leaves, Evaluator context)
          Finds all descendants of a member which are before/at/after a level, and/or are leaves (have no descendants) and adds them to a result list.
 
Methods inherited from class mondrian.olap.fun.FunDefBase
castType, createCall, getDescription, getName, getParameterCategories, getResultType, getReturnCategory, getSignature, getSyntax, unparse, validateArg
 
Methods inherited from class mondrian.olap.fun.FunUtil
addMembers, addMembers, addUnique, ancestor, appendTuple, avg, checkCompatible, checkFlag, checkIterListResultStyles, checkListResultStyles, compareHierarchically, compareSiblingMembers, compareValues, compareValues, compareValues, correlation, count, cousin, covariance, createDummyFunDef, decodeCategory, decodeParameterCategories, decodeReturnCategory, decodeSyntacticType, dimensionMembers, equalTuple, evaluateMembers, evaluateMembers, evaluateSet, evaluateSet, evaluateTuples, getLiteralArg, getLiteralArg, getNonEmptyLevelMembers, getNonEmptyMemberChildren, hierarchize, hierarchyMembers, isAncestorOf, isMemberType, levelMembers, makeNullMember, makeNullTuple, max, memberRange, min, newEvalException, newEvalException, percentile, periodsToDate, quartile, removeCalculatedMembers, resolveFunArgs, searchValuesDesc, sign, sortMembers, sortTuples, sortValuesDesc, stdev, sum, sumDouble, sumDouble, toPercent, tupleContainsNullMember, var
 
Methods inherited from class mondrian.olap.Util
addDatabaseTime, addLevelCalculatedMembers, areOccurencesEqual, assertPostcondition, assertPostcondition, assertPrecondition, assertPrecondition, assertTrue, assertTrue, badValue, camelToUpper, caseSensitiveCompareName, cast, cast, checkCJResultLimit, commaList, compareKey, compareName, convertStackToString, createExpr, createRandom, createSimpleValidator, createUdf, dbTimeMillis, deprecated, enumSetAllOf, enumSetNoneOf, enumSetOf, equal, equalName, equals, equals, getAnnotation, getErrorMessage, getErrorMessage, getFirstDescendantOnLevel, getMemberOrdinalInParent, hash, hash, hashArray, implode, isEmpty, isNull, isSorted, isValidProperty, lookup, lookup, lookup, lookup, lookupCompound, lookupCompound, lookupHierarchyLevel, lookupHierarchyRootMember, lookupHierarchyRootMember, lookupProperty, makeBigDecimalFromDouble, makeFqName, makeFqName, makeFqName, maskVersion, mdxEncodeString, needToImplement, newError, newError, newInternal, newInternal, nonDbTimeMillis, normalizeName, parseCommaList, parseConnectString, parseIdentifier, printMemory, printMemory, quoteForMdx, quoteMdxIdentifier, quoteMdxIdentifier, quoteMdxIdentifier, quoteMdxIdentifier, quotePattern, readFully, readURL, readURL, readURL, readURL, replace, replace, replaceProperties, singleQuoteString, singleQuoteString, toMap, toURL, unexpected, union, union, uniquify, unparse, unparse, wildcardToRegexp
 
Methods inherited from class org.eigenbase.xom.XOMUtil
addAll, addAll, addChild, addChild, addChildren, addElement, concatenate, createDefaultParser, discard, discard, discard, discard, discard, discard, discard, discard, discard, getFirstInstance, toList, toVector, wrapperToXml
 
Methods inherited from class org.eigenbase.xom.XMLUtil
getFirstTagName, printAtt, printAtt, printAtt, printAtt, printPCDATA, printPCDATA, printPCDATA, quoteAtt, quoteAtt, quoteAtt, quoteAtt, quotePCDATA, stringEncodeXML, stringHasXMLSpecials
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

Resolver

static final ReflectiveMultiResolver Resolver
Constructor Detail

DescendantsFunDef

public DescendantsFunDef(FunDef dummyFunDef)
Method Detail

compileCall

public Calc compileCall(ResolvedFunCall call,
                        ExpCompiler compiler)
Description copied from interface: FunDef
Converts a call to this function into executable objects.

The result must implement the appropriate interface for the result type. For example, a function which returns an integer must return an object which implements IntegerCalc.

Specified by:
compileCall in interface FunDef
Overrides:
compileCall in class FunDefBase

descendantsByLevel

static void descendantsByLevel(SchemaReader schemaReader,
                               Member ancestor,
                               Level level,
                               List<Member> result,
                               boolean before,
                               boolean self,
                               boolean after,
                               boolean leaves,
                               Evaluator context)
Finds all descendants of a member which are before/at/after a level, and/or are leaves (have no descendants) and adds them to a result list.

Parameters:
schemaReader - Member reader
ancestor - Member to find descendants of
level - Level relative to which to filter, must not be null
result - Result list
before - Whether to output members above level
self - Whether to output members at level
after - Whether to output members below level
leaves - Whether to output members which are leaves
context - Evaluation context; determines criteria by which the result set should be filtered

SourceForge.net_Logo