mondrian.olap.fun
Class ReflectiveMultiResolver

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.MultiResolver
                      extended by mondrian.olap.fun.ReflectiveMultiResolver
All Implemented Interfaces:
Resolver

public class ReflectiveMultiResolver
extends MultiResolver

Resolver which uses reflection to instantiate a FunDef. This reduces the amount of anonymous classes.

Since:
Mar 23, 2006
Author:
jhyde
 

Nested Class Summary
 
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
 
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
ReflectiveMultiResolver(String name, String signature, String description, String[] signatures, Class clazz)
           
ReflectiveMultiResolver(String name, String signature, String description, String[] signatures, Class clazz, String[] reservedWords)
           
 
Method Summary
protected  FunDef createFunDef(Exp[] args, FunDef dummyFunDef)
           
 String[] getReservedWords()
          Returns an array of symbolic constants which can appear as arguments to this function.
 
Methods inherited from class mondrian.olap.fun.MultiResolver
getDescription, getFunDef, getName, getSignature, getSignatures, getSyntax, requiresExpression, resolve
 
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
 

Constructor Detail

ReflectiveMultiResolver

public ReflectiveMultiResolver(String name,
                               String signature,
                               String description,
                               String[] signatures,
                               Class clazz)

ReflectiveMultiResolver

public ReflectiveMultiResolver(String name,
                               String signature,
                               String description,
                               String[] signatures,
                               Class clazz,
                               String[] reservedWords)
Method Detail

createFunDef

protected FunDef createFunDef(Exp[] args,
                              FunDef dummyFunDef)
Specified by:
createFunDef in class MultiResolver

getReservedWords

public String[] getReservedWords()
Description copied from interface: Resolver
Returns an array of symbolic constants which can appear as arguments to this function.

For example, the DrilldownMember may take the symbol RECURSIVE as an argument. Most functions do not define any symbolic constants.

Specified by:
getReservedWords in interface Resolver
Overrides:
getReservedWords in class MultiResolver
Returns:
An array of the names of the symbolic constants

SourceForge.net_Logo