Package mondrian.olap.fun
Interface Resolver
-
- All Known Implementing Classes:
CacheFunDef.CacheFunResolver
,MultiResolver
,ParameterFunDef.ParameterResolver
,ParameterFunDef.ParamRefResolver
,ReflectiveMultiResolver
,UdfResolver
public interface Resolver
AResolver
converts a function name, invocation type, and set of arguments into aFunDef
.- Since:
- 3 March, 2002
- Author:
- jhyde
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
Resolver.Conversion
Description of an implicit conversion that occurred while resolving an operator call.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description 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 exampleSyntax
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.
-
-
-
Method Detail
-
getName
String getName()
Returns the name of the function or operator.
-
getDescription
String getDescription()
Returns the description of the function or operator.
-
getSyntax
Syntax getSyntax()
Returns the syntax with which the function or operator was invoked.
-
resolve
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.The 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.- Parameters:
args
- Expressions which this function call is applied to.validator
- Validatorconversions
- List of implicit conversions performed (out)- Returns:
- The function definition which matches these arguments, or null if no function definition that this resolver knows about matches.
-
requiresExpression
boolean requiresExpression(int k)
Returns whether a particular argument must be a scalar expression. Returnsfalse
if any of the variants of this resolver allows a set as itsk
th argument; true otherwise.
-
getReservedWords
String[] getReservedWords()
Returns an array of symbolic constants which can appear as arguments to this function.For example, the
DrilldownMember
may take the symbolRECURSIVE
as an argument. Most functions do not define any symbolic constants.- Returns:
- An array of the names of the symbolic constants
-
getSignature
String getSignature()
Returns a string describing the syntax of this function, for exampleStrToSet(
)
-
getFunDef
FunDef getFunDef()
Returns a representative example of the function which this Resolver can produce, for purposes of describing the function set. May return null if there is no representative function, or if the Resolver has a way to describe itself in more detail.
-
-