mondrian.olap.fun
Class OpeningClosingPeriodFunDef
java.lang.Object
org.eigenbase.xom.XMLUtil
org.eigenbase.xom.XOMUtil
mondrian.olap.Util
mondrian.olap.fun.FunUtil
mondrian.olap.fun.FunDefBase
mondrian.olap.fun.OpeningClosingPeriodFunDef
- All Implemented Interfaces:
- FunDef
class OpeningClosingPeriodFunDef
- extends FunDefBase
Definition of the OpeningPeriod
and ClosingPeriod
builtin functions.
- Since:
- 2005/8/14
- Author:
- jhyde
-
-
Method Summary |
Calc |
compileCall(ResolvedFunCall call,
ExpCompiler compiler)
Converts a call to this function into executable objects. |
(package private) static Member |
getDescendant(SchemaReader schemaReader,
Member member,
Level targetLevel,
boolean returnFirstDescendant)
Returns the first or last descendant of the member at the target level. |
Type |
getResultType(Validator validator,
Exp[] args)
Returns the type of a call to this function with a given set of
arguments.
The default implementation makes the coarse assumption that the return
type is in some way related to the type of the first argument. |
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 |
OpeningPeriodResolver
static final Resolver OpeningPeriodResolver
ClosingPeriodResolver
static final Resolver ClosingPeriodResolver
OpeningClosingPeriodFunDef
public OpeningClosingPeriodFunDef(FunDef dummyFunDef,
boolean opening)
getResultType
public Type getResultType(Validator validator,
Exp[] args)
- Description copied from class:
FunDefBase
- Returns the type of a call to this function with a given set of
arguments.
The default implementation makes the coarse assumption that the return
type is in some way related to the type of the first argument.
Operators whose arguments don't follow the requirements of this
implementation should override this method.
If the function definition says it returns a literal type (numeric,
string, symbol) then it's a fair guess that the function call
returns the same kind of value.
If the function definition says it returns an object type (cube,
dimension, hierarchy, level, member) then we check the first
argument of the function. Suppose that the function definition says
that it returns a hierarchy, and the first argument of the function
happens to be a member. Then it's reasonable to assume that this
function returns a member.
- Overrides:
getResultType
in class FunDefBase
- Parameters:
validator
- Validatorargs
- Arguments to the call to this operator
- Returns:
- result type of a call this function
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
getDescendant
static Member getDescendant(SchemaReader schemaReader,
Member member,
Level targetLevel,
boolean returnFirstDescendant)
- Returns the first or last descendant of the member at the target level.
This method is the implementation of both OpeningPeriod and ClosingPeriod.
- Pre-condition:
- member.getLevel().getDepth() < level.getDepth();
- Parameters:
schemaReader
- The schema reader to use to evaluate the function.member
- The member from which the descendant is to be found.targetLevel
- The level to stop at.returnFirstDescendant
- Flag indicating whether to return the first
or last descendant of the member.
- Returns:
- A member.