|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.eigenbase.xom.XMLUtil
org.eigenbase.xom.XOMUtil
mondrian.olap.Util
mondrian.olap.fun.FunUtil
mondrian.olap.fun.MultiResolver
public abstract class MultiResolver
A MultiResolver considers several overloadings of the same
function. If one of these overloadings matches the actual arguments, it
calls the factory method createFunDef(mondrian.olap.Exp[], mondrian.olap.FunDef).
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class mondrian.olap.fun.FunUtil |
|---|
FunUtil.DescendingValueComparator, FunUtil.Flag, FunUtil.ObjIntPair<T>, FunUtil.OrderKey, FunUtil.Quicksorter<T>, FunUtil.SetWrapper, FunUtil.SortKeySpec, FunUtil.TupleExpMemoComparator |
| Nested classes/interfaces inherited from class mondrian.olap.Util |
|---|
Util.AbstractFlatList<T>, Util.ErrorCellValue, Util.Flat2List<T>, Util.Flat3List<T>, Util.Functor1<RT,PT>, Util.GcIterator<T>, Util.MemoryInfo, Util.PropertyList, Util.SqlNullSafeComparator |
| Nested classes/interfaces inherited from interface mondrian.olap.fun.Resolver |
|---|
Resolver.Conversion |
| Field Summary |
|---|
| Fields inherited from class mondrian.olap.fun.FunUtil |
|---|
BooleanNull, DoubleEmpty, DoubleNull, emptyStringArray, IntegerNull, NullMember |
| Fields inherited from class mondrian.olap.Util |
|---|
DEBUG, EmptyValue, IBM_JVM, JdbcVersion, nl, nullValue, PreJdk15, PreJdk16, Retrowoven |
| Constructor Summary | |
|---|---|
protected |
MultiResolver(String name,
String signature,
String description,
String[] signatures)
Creates a MultiResolver. |
| Method Summary | |
|---|---|
protected abstract FunDef |
createFunDef(Exp[] args,
FunDef dummyFunDef)
|
String |
getDescription()
Returns the description of the function or operator. |
FunDef |
getFunDef()
Returns a representative example of the function which this Resolver can produce, for purposes of describing the function set. |
String |
getName()
Returns the name of the function or operator. |
String[] |
getReservedWords()
Returns an array of symbolic constants which can appear as arguments to this function. |
String |
getSignature()
Returns a string describing the syntax of this function, for example |
String[] |
getSignatures()
|
Syntax |
getSyntax()
Returns the syntax with which the function or operator was invoked. |
boolean |
requiresExpression(int k)
Returns whether a particular argument must be a scalar expression. |
FunDef |
resolve(Exp[] args,
Validator validator,
List<Resolver.Conversion> conversions)
Given a particular set of arguments the function is applied to, returns the correct overloaded form of the function. |
| Methods inherited from class org.eigenbase.xom.XOMUtil |
|---|
addChild, addChild, addChildren, addElement, concatenate, createDefaultParser, discard, discard, discard, discard, discard, discard, discard, discard, discard, getFirstInstance, 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 |
|---|
protected MultiResolver(String name,
String signature,
String description,
String[] signatures)
MultiResolver.
name - Name of function or operatorsignature - Signature of function or operatordescription - Description of function or operatorsignatures - Array of possible signatures, each of which is an
encoding of the syntactic type, return type, and parameter
types of this operator. The "Members" operator has a syntactic
type "pxd" which means "an operator with
property syntax (p) which returns a set
(x) and takes a dimension (d) as its argument".
See FunUtil.decodeSyntacticType(String),
FunUtil.decodeReturnCategory(String),
FunUtil.decodeParameterCategories(String).| Method Detail |
|---|
public String getName()
Resolver
getName in interface Resolverpublic String getDescription()
Resolver
getDescription in interface Resolverpublic String getSignature()
ResolverStrToSet()
getSignature in interface Resolverpublic Syntax getSyntax()
Resolver
getSyntax in interface Resolverpublic String[] getReservedWords()
ResolverFor example, the DrilldownMember may take the symbol
RECURSIVE as an argument. Most functions do not define
any symbolic constants.
getReservedWords in interface Resolverpublic String[] getSignatures()
public FunDef getFunDef()
Resolver
getFunDef in interface Resolver
public FunDef resolve(Exp[] args,
Validator validator,
List<Resolver.Conversion> conversions)
ResolverThe method adds an item to conversions every
time it performs an implicit type-conversion. If there are several
candidate functions with the same signature, the validator will choose
the one which used the fewest implicit conversions.
resolve in interface Resolverargs - Expressions which this function call is applied to.validator - Validatorconversions - List of implicit conversions performed (out)
public boolean requiresExpression(int k)
Resolverfalse if any of the variants of this resolver
allows a set as its kth argument; true otherwise.
requiresExpression in interface Resolver
protected abstract FunDef createFunDef(Exp[] args,
FunDef dummyFunDef)
|
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||