org.pentaho.reporting.libraries.formula.function
Interface FunctionDescription

All Superinterfaces:
java.io.Serializable
All Known Implementing Classes:
AbsFunctionDescription, AbstractFunctionDescription, AndFunctionDescription, AverageAFunctionDescription, AverageFunctionDescription, ChooseFunctionDescription, CountAFunctionDescription, CountBlankFunctionDescription, CountFunctionDescription, DateDifFunctionDescription, DateFunctionDescription, DateValueFunctionDescription, DayFunctionDescription, DaysFunctionDescription, DefaultFunctionDescription, EvenFunctionDescription, ExactFunctionDescription, FalseFunctionDescription, FindFunctionDescription, HasChangedFunctionDescription, HourFunctionDescription, IfFunctionDescription, IntFunctionDescription, IsBlankFunctionDescription, IsErrFunctionDescription, IsErrorFunctionDescription, IsEvenFunctionDescription, IsLogicalFunctionDescription, IsNaFunctionDescription, IsNonTextFunctionDescription, IsNumberFunctionDescription, IsOddFunctionDescription, IsRefFunctionDescription, IsTextFunctionDescription, LeftFunctionDescription, LenFunctionDescription, LowerFunctionDescription, MaxAFunctionDescription, MaxFunctionDescription, MidFunctionDescription, MinAFunctionDescription, MinFunctionDescription, MinuteFunctionDescription, ModFunctionDescription, MonthFunctionDescription, NaFunctionDescription, NotFunctionDescription, NowFunctionDescription, NullFunctionDescription, OddFunctionDescription, OrFunctionDescription, ReplaceFunctionDescription, ReptFunctionDescription, RightFunctionDescription, SecondFunctionDescription, SubstituteFunctionDescription, SumAFunctionDescription, SumFunctionDescription, TextFunctionDescription, TFunctionDescription, TimeFunctionDescription, TimeValueFunctionDescription, TodayFunctionDescription, TrimFunctionDescription, TrueFunctionDescription, UnicharFunctionDescription, UnicodeFunctionDescription, UpperFunctionDescription, URLEncodeFunctionDescription, WeekDayFunctionDescription, XorFunctionDescription, YearFunctionDescription

public interface FunctionDescription
extends java.io.Serializable

A static definition of the function's parameters, return values etc. This is a support class with emphasis on GUI tools. However, the parameter declarations are also used when filling in the parameter values. Functions have a defined set of known parameters and can have a unlimited number of optional parameters. If a function declares at least one parameter and declares that its parameter list is infinite, then the last parameter type is used on all remaining parameters.

Author:
Thomas Morgner

Method Summary
 java.lang.String getCanonicalName()
           
 FunctionCategory getCategory()
           
 java.lang.Object getDefaultValue(int position)
          Returns the default value for an optional parameter.
 java.lang.String getDescription(java.util.Locale locale)
           
 java.lang.String getDisplayName(java.util.Locale locale)
           
 int getParameterCount()
           
 java.lang.String getParameterDescription(int position, java.util.Locale locale)
           
 java.lang.String getParameterDisplayName(int position, java.util.Locale locale)
           
 Type getParameterType(int position)
          Returns the parameter type at the given position using the function metadata.
 Type getValueType()
           
 boolean isInfiniteParameterCount()
           
 boolean isParameterMandatory(int position)
          Defines, whether the parameter at the given position is mandatory.
 boolean isVolatile()
           
 

Method Detail

getCanonicalName

java.lang.String getCanonicalName()

getDisplayName

java.lang.String getDisplayName(java.util.Locale locale)

getDescription

java.lang.String getDescription(java.util.Locale locale)

isVolatile

boolean isVolatile()

getValueType

Type getValueType()

getCategory

FunctionCategory getCategory()

getParameterCount

int getParameterCount()

isInfiniteParameterCount

boolean isInfiniteParameterCount()

getParameterType

Type getParameterType(int position)
Returns the parameter type at the given position using the function metadata. The first parameter is at the position 0;

Parameters:
position - The parameter index.
Returns:
The parameter type.

getParameterDisplayName

java.lang.String getParameterDisplayName(int position,
                                         java.util.Locale locale)

getParameterDescription

java.lang.String getParameterDescription(int position,
                                         java.util.Locale locale)

isParameterMandatory

boolean isParameterMandatory(int position)
Defines, whether the parameter at the given position is mandatory. A mandatory parameter must be filled in, while optional parameters need not to be filled in.

Returns:

getDefaultValue

java.lang.Object getDefaultValue(int position)
Returns the default value for an optional parameter. If the value returned here is null, then this either means, that the parameter is mandatory or that the default value is computed by the expression itself.

Parameters:
position -
Returns: