|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.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.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 | |
---|---|
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,
int[] conversionCount)
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 |
---|
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 |
---|
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 Resolver
public String getDescription()
Resolver
getDescription
in interface Resolver
public String getSignature()
Resolver
StrToSet()
getSignature
in interface Resolver
public Syntax getSyntax()
Resolver
getSyntax
in interface Resolver
public String[] getReservedWords()
Resolver
For example, the DrilldownMember
may take the symbol
RECURSIVE
as an argument. Most functions do not define
any symbolic constants.
getReservedWords
in interface Resolver
public String[] getSignatures()
public FunDef getFunDef()
Resolver
getFunDef
in interface Resolver
public FunDef resolve(Exp[] args, Validator validator, int[] conversionCount)
Resolver
The method must increment conversionCount
argument 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 Resolver
args
- Expressions which this function call is applied to.validator
- ValidatorconversionCount
- This argument must be an int
array
with a single element; in effect, it is an in/out parameter. It
The method increments the count every time it performs a conversion.
public boolean requiresExpression(int k)
Resolver
false
if any of the variants of this resolver
allows a set as its k
th 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 |