org.kuali.rice.krms.api.repository.function
Interface FunctionDefinitionContract

All Superinterfaces:
Identifiable, Inactivatable, Versioned
All Known Implementing Classes:
FunctionDefinition, FunctionDefinition.Builder

public interface FunctionDefinitionContract
extends Versioned, Identifiable, Inactivatable

Defines the contract for a function definition. A function definition can be defined by clients integrating with KRMS in order to implement custom logic which they may require as part of rule execution and evaluation. These can then be used in simple propositions.

The function definition itself defines various metadata about the function including it's name, return type, and expected parameter types. The actual implementation of the function is retrieved through the type defined by getTypeId().

Author:
Kuali Rice Team (rice.collab@kuali.org)

Method Summary
 List<? extends CategoryDefinitionContract> getCategories()
          Returns an ordered list of the categories which this function definition requires.
 String getDescription()
          Returns the description of this function definition.
 String getName()
          Returns the name of this function definition.
 String getNamespace()
          Returns the namespace code of this function definition.
 List<? extends FunctionParameterDefinitionContract> getParameters()
          Returns an ordered, immutable list of the parameters which this function definition requires.
 String getReturnType()
          Returns the type of the return value of the function defined by this function definition.
 String getTypeId()
          Returns the id of the KrmsTypeDefinition which defines the actual implementation of this function such that it can be loaded into the engine and executed.
 
Methods inherited from interface org.kuali.rice.core.api.mo.common.Versioned
getVersionNumber
 
Methods inherited from interface org.kuali.rice.core.api.mo.common.Identifiable
getId
 
Methods inherited from interface org.kuali.rice.core.api.mo.common.active.Inactivatable
isActive
 

Method Detail

getNamespace

String getNamespace()
Returns the namespace code of this function definition. All functions have a namespace and this value can never be null or blank. The combination of namespace plus name must be unique within the entire repository of functions.

Returns:
the namespace code of this function definition

getName

String getName()
Returns the name of this function definition. All functions have a name and this value can never be null or blank. The combination of namespace plus name must be unique within the entire repository of functions.

Returns:
the name of this function definition

getDescription

String getDescription()
Returns the description of this function definition. The description is intended to provide more information about a function and it's appropriate usage. The description is optional.

Returns:
the description of this function definition

getReturnType

String getReturnType()
Returns the type of the return value of the function defined by this function definition. This can be one of a set of "built-in" data types or a custom data type represented as a fully qualified java class name. All functions must have a return type so this method should never return null or blank.

Returns:
the return type of this function definition

getTypeId

String getTypeId()
Returns the id of the KrmsTypeDefinition which defines the actual implementation of this function such that it can be loaded into the engine and executed.

Returns:
the type id of this function definition

getParameters

List<? extends FunctionParameterDefinitionContract> getParameters()
Returns an ordered, immutable list of the parameters which this function definition requires. This list can be empty (in the case of a function which has no arguments) but will never be null.

Returns:
the list of parameters for this function definition

getCategories

List<? extends CategoryDefinitionContract> getCategories()
Returns an ordered list of the categories which this function definition requires. This list can be empty (in the case of a function which has no arguments) but will never be null.

Returns:
the list of categories for this function definition


Copyright © 2005-2012 The Kuali Foundation. All Rights Reserved.