public interface ValueFunction
 The specific function must be declared under the element
 xs:annotation/xs:appinfo
 (see Computed Values):
 
where<osd:function class="com.foo.MyFunction"/>
com.foo.MyFunction is the fully qualified name of the class implementing
 this interface. It is also possible to set additional JavaBean properties:
 
 
 <osd:function class="com.foo.MyFunction">
          <param1>...</param1>
          <param2>...</param2>
 </osd:function>
 
 
 
 where param1 and param2 are JavaBean properties of the class specified.
 
 For more information, see the JavaBean specification.
setParam1(...) and
 setParam2(...));setup(ValueFunctionContext) is called on the new instance.getValue(Adaptation)
 is called each time this is needed (for example when the record is
 displayed or exported).
 
 See getValue(Adaptation).
 
| Modifier and Type | Method and Description | 
|---|---|
| Object | getValue(Adaptation aDataSetOrRecord)Returns the value in the context of the specified record or dataset. | 
| void | setup(ValueFunctionContext aContext)This method is called when the data model is loaded, for checking that
 this rule is consistent with the data model that defines it. | 
Object getValue(Adaptation aDataSetOrRecord)
The value returned must conform to the associated data model declaration (that is, the type, cardinality, facets).
If the rule is attached to a table with N records, some operations will call this method N times. This is the case for:
ExportSpec.setIncludesComputedValues(boolean)
 will deactivate the call to the function);osd:disableValidation = "true".
 Thus, for a table with large volumes of records, it may be necessary to optimize the implementation (for example, by caching). See also the performance and tuning chapter.
For a single instance of this interface, this method may be called concurrently by several threads.
ValueAccessExceptionvoid setup(ValueFunctionContext aContext)