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 function 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 function 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 performance guidelines chapter.
For a single instance of this interface, this method may be called concurrently by several threads.
ValueAccessExceptionvoid setup(ValueFunctionContext aContext)