mondrian.spi
Interface UserDefinedFunction

All Known Implementing Classes:
CurrentDateMemberExactUdf, CurrentDateMemberUdf, CurrentDateStringUdf, InUdf, InverseNormalUdf, LastNonEmptyUdf, MatchesUdf, NullValueUdf, ValUdf

public interface UserDefinedFunction

Definition of a user-defined function.

The class must have a public, zero-arguments constructor, be on Mondrian's runtime class-path, and be referenced from the schema file:

<Schema>
    ....
    <UserDefinedFunction name="MyFun" class="com.acme.MyFun">
</Schema>

Author:
jhyde
 

Nested Class Summary
static interface UserDefinedFunction.Argument
           
 
Method Summary
 Object execute(Evaluator evaluator, UserDefinedFunction.Argument[] arguments)
          Applies this function to a set of arguments, and returns a result.
 String getDescription()
          Returns a description of the user-defined function.
 String getName()
          Returns the name with which the user-defined function will be used from within MDX expressions.
 Type[] getParameterTypes()
          Returns an array of the types of the parameters of this function.
 String[] getReservedWords()
          Returns a list of reserved words used by this function.
 Type getReturnType(Type[] parameterTypes)
          Returns the return-type of this function.
 Syntax getSyntax()
          Returns the syntactic type of the user-defined function.
 

Method Detail

getName

String getName()
Returns the name with which the user-defined function will be used from within MDX expressions.


getDescription

String getDescription()
Returns a description of the user-defined function.


getSyntax

Syntax getSyntax()
Returns the syntactic type of the user-defined function. Usually Syntax.Function.


getParameterTypes

Type[] getParameterTypes()
Returns an array of the types of the parameters of this function.


getReturnType

Type getReturnType(Type[] parameterTypes)
Returns the return-type of this function.

Parameters:
parameterTypes -

execute

Object execute(Evaluator evaluator,
               UserDefinedFunction.Argument[] arguments)
Applies this function to a set of arguments, and returns a result.

Parameters:
evaluator - Evaluator containts the runtime context, in particular the current member of each dimension.
arguments - Expressions which yield the arguments of this function. Most user-defined functions will evaluate all arguments before using them. Functions such as IIf do not evaluate all arguments; this technique is called lazy evaluation.
Returns:
The result value.

getReservedWords

String[] getReservedWords()
Returns a list of reserved words used by this function. May return an empty array or null if this function does not require any reserved words.


SourceForge.net_Logo