Package mondrian.olap.fun
Class JavaFunDef
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.JavaFunDef
- All Implemented Interfaces:
FunDef
MDX function which is implemented by a Java method. When the function is
executed, the method is invoked via reflection.
- Since:
- Jan 5, 2008
- Author:
- wgorman, jhyde
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic @interfaceAnnotation which allows you to tag a Java method with the description of the MDX function it implements.static @interfaceAnnotation which allows you to tag a Java method with the name of the MDX function it implements.static @interfaceAnnotation which allows you to tag a Java method with the signature of the MDX function it implements.static @interfaceAnnotation which allows you to tag a Java method with the syntax of the MDX function it implements.Nested classes/interfaces inherited from class mondrian.olap.fun.FunUtil
FunUtil.DescendingValueComparatorNested classes/interfaces inherited from class mondrian.olap.Util
Util.AbstractFlatList<T>, Util.ByteMatcher, Util.ErrorCellValue, Util.Flat2List<T>, Util.Flat3List<T>, Util.Functor1<RT,PT>, Util.GcIterator<T>, Util.MemoryInfo, Util.PropertyList, Util.SqlNullSafeComparator -
Field Summary
Fields inherited from class mondrian.olap.fun.FunDefBase
flags, parameterCategories, returnCategoryFields inherited from class mondrian.olap.fun.FunUtil
BooleanNull, DoubleEmpty, DoubleNull, IntegerNull, NullMemberFields inherited from class mondrian.olap.Util
DEBUG, EmptyValue, IBM_JVM, JdbcVersion, JVM_INSTANCE_UUID, nl, nullValue, Retrowoven -
Constructor Summary
ConstructorsConstructorDescriptionJavaFunDef(String name, String desc, Syntax syntax, int returnCategory, int[] paramCategories, Method method) Creates a JavaFunDef. -
Method Summary
Modifier and TypeMethodDescriptioncompileCall(ResolvedFunCall call, ExpCompiler compiler) Converts a call to this function into executable objects.Scans a java class and returns a list of function definitions, one for each static method which is suitable to become an MDX function.Methods inherited from class mondrian.olap.fun.FunDefBase
createCall, getDescription, getName, getParameterCategories, getResultType, getReturnCategory, getSignature, getSyntax, unparse, validateArgMethods inherited from class mondrian.olap.fun.FunUtil
avg, box, box, checkIterListResultStyles, checkListResultStyles, compareHierarchically, compareSiblingMembers, compareValues, compareValues, count, decodeCategory, decodeParameterCategories, decodeReturnCategory, decodeSyntacticType, getDimensionDefaultHierarchy, getNonEmptyMemberChildren, getNonEmptyMemberChildrenWithDetails, isAncestorOf, makeNullTuple, max, min, newEvalException, newEvalException, newEvalException, quartile, resolveFunArgs, sum, sumDouble, sumDouble, tupleContainsNullMember, tupleContainsNullMember, worthCachingMethods inherited from class mondrian.olap.Util
addAppender, addDatabaseTime, addLevelCalculatedMembers, append, appendArrays, areOccurencesEqual, assertPostcondition, assertPostcondition, assertPrecondition, assertPrecondition, assertTrue, assertTrue, badValue, binarySearch, bitSetBetween, camelToUpper, canCast, cancelStatement, caseSensitiveCompareName, cast, cast, castToIterable, checkCJResultLimit, close, commaList, compare, compareIntegers, compareKey, compareName, compileScript, convert, convert, convertOlap4jConnectStringToNativeMondrian, convertStackToString, copyOf, copyOf, copyOf, copyOf, copyOf, createExpr, createRandom, createRootRole, createSimpleValidator, createUdf, dbTimeMillis, deprecated, deprecated, digestMd5, digestSha256, equal, equalName, equals, equals, explain, falseFunctor, filter, flatList, flatList, flatListCopy, generateUuidString, genericArray, getAnnotation, getClosestResource, getDimensionCube, getErrorMessage, getErrorMessage, getExecutorService, getFirstDescendantOnLevel, getMatchingCause, getMemberOrdinalInParent, getMemoryInfo, getScheduledExecutorService, hash, hash, hashArray, identityFunctor, implode, intersect, isBlank, isEmpty, isNull, isSorted, isValidProperty, last, lookup, lookup, lookup, lookup, lookup, lookupCompound, lookupCompound, lookupHierarchyLevel, lookupHierarchyRootMember, lookupHierarchyRootMember, lookupProperty, makeAppender, makeBigDecimalFromDouble, makeFqName, makeFqName, makeFqName, matches, matches, mdxEncodeString, needToImplement, newElementNotFoundException, newError, newError, newIdentityHashSet, newIdentityHashSetFake, newInternal, newInternal, newTimer, nonDbTimeMillis, normalizeName, only, parseCommaList, parseConnectString, parseIdentifier, parseInterval, parseLocale, printMemory, printMemory, quoteForMdx, quoteForMdx, quoteJavaString, quoteMdxIdentifier, quoteMdxIdentifier, quoteMdxIdentifier, quoteMdxIdentifier, quotePattern, readFully, readFully, readURL, readURL, readURL, readVirtualFile, readVirtualFileAsString, removeAppender, replace, replace, replaceProperties, safeGet, setLevel, singleQuoteString, singleQuoteString, sort, sort, threadLocalRemove, toMap, toNullValuesMap, toOlap4j, toOlap4j, toOlap4j, toURL, trueFunctor, unexpected, uniquify, unparse, unparse, wildcardToRegexpMethods inherited from class org.eigenbase.xom.XOMUtil
addChild, addChild, addChildren, addElement, concatenate, createDefaultParser, discard, discard, discard, discard, discard, discard, discard, discard, discard, getFirstInstance, wrapperToXmlMethods inherited from class org.eigenbase.xom.XMLUtil
getFirstTagName, printAtt, printAtt, printAtt, printAtt, printPCDATA, printPCDATA, printPCDATA, quoteAtt, quoteAtt, quoteAtt, quoteAtt, quotePCDATA, stringEncodeXML, stringHasXMLSpecials
-
Constructor Details
-
JavaFunDef
public JavaFunDef(String name, String desc, Syntax syntax, int returnCategory, int[] paramCategories, Method method) Creates a JavaFunDef.- Parameters:
name- Namedesc- Descriptionsyntax- SyntaxreturnCategory- Return typeparamCategories- Parameter typesmethod- Java method which implements this function
-
-
Method Details
-
compileCall
Description copied from interface:FunDefConverts 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:
compileCallin interfaceFunDef- Overrides:
compileCallin classFunDefBase
-
scan
Scans a java class and returns a list of function definitions, one for each static method which is suitable to become an MDX function.- Parameters:
clazz- Class- Returns:
- List of function definitions
-