mondrian.olap.fun
Class CacheFunDef

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.CacheFunDef
All Implemented Interfaces:
FunDef

public class CacheFunDef
extends FunDefBase

Definition of the Cache system function, which is smart enough to evaluate its argument only once.

Since:
2005/8/14
Author:
jhyde
 

Nested Class Summary
static class CacheFunDef.CacheFunResolver
           
 
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 String NAME
           
(package private) static CacheFunDef.CacheFunResolver 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
CacheFunDef(String name, String signature, String description, Syntax syntax, int category, Type type)
           
 
Method Summary
 Calc compileCall(ResolvedFunCall call, ExpCompiler compiler)
          Converts a call to this function into executable objects.
 void unparse(Exp[] args, PrintWriter pw)
          Converts a function call into MDX source code.
 
Methods inherited from class mondrian.olap.fun.FunDefBase
castType, createCall, getDescription, getName, getParameterCategories, getResultType, getReturnCategory, getSignature, getSyntax, 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

NAME

static final String NAME
See Also:
Constant Field Values

Resolver

static final CacheFunDef.CacheFunResolver Resolver
Constructor Detail

CacheFunDef

CacheFunDef(String name,
            String signature,
            String description,
            Syntax syntax,
            int category,
            Type type)
Method Detail

unparse

public void unparse(Exp[] args,
                    PrintWriter pw)
Description copied from interface: FunDef
Converts a function call into MDX source code.

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

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

SourceForge.net_Logo