mondrian.olap.fun
Interface Resolver

All Known Implementing Classes:
CacheFunDef.CacheFunResolver, MultiResolver, ParameterFunDef.ParameterResolver, ParameterFunDef.ParamRefResolver, ReflectiveMultiResolver, ResolverBase, SimpleResolver, UdfResolver

public interface Resolver

A Resolver converts a function name, invocation type, and set of arguments into a FunDef.

Since:
3 March, 2002
Author:
jhyde
 

Method Summary
 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
 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.
 

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,
               int[] conversionCount)
Given a particular set of arguments the function is applied to, returns the correct overloaded form of the function.

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.

Parameters:
args - Expressions which this function call is applied to.
validator - Validator
conversionCount - 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.
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. Returns false if any of the variants of this resolver allows a set as its kth 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 symbol RECURSIVE 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 example
StrToSet()


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.


SourceForge.net_Logo