package udf
Type Members
-
trait
UserDefinedFunction extends Serializable
Interface that all User Defined Functions classes must implement.
Interface that all User Defined Functions classes must implement.
It implements the java.io.Serializable class and must have the UserDefinedFunctionIdentification annotation applied and filled in with the values to be used in the schema.
It must also have an evaluate method that contains the functionality it is offering
Any "state" variables should be passed in during overloaded UserDefinedFunctionProvider initialization
- Annotations
- @UserDefinedFunctionIdentification()
-
class
UserDefinedFunctionIdentification extends Annotation with Annotation with ClassfileAnnotation
- Annotations
- @Retention() @Target()
-
abstract
class
UserDefinedFunctionProvider extends AnyRef
Abstract class used by ServiceLoader to poll for UDF providers on classpath.
Abstract class used by ServiceLoader to poll for UDF providers on classpath.
Through this class, several User Defined Functions can be made available to Daffodil via a single entry in the META-INF/services file.
UDF Providers must subclass this, and must initialize the userDefinedFunctionClasses array with all the UDF classes it is providing.
If the UDFs being provided have constructors with arguments, the provider subclass must also implement the createUserDefinedFunction to return an initialized function class object based on the supplied namespace and name.
Subclasses must also supply a src/META-INF/services/org.apache.daffodil.udf.UserDefinedFunctionProvider file in their JAVA project in order to be discoverable by Daffodil.
This is the documentation for the Apache Daffodil Scala API.
Package structure
org.apache.daffodil.sapi - Provides the classes necessary to compile DFDL schemas, parse and unparse files using the compiled objects, and retrieve results and parsing diagnostics
org.apache.daffodil.udf - Provides the classes necessary to create User Defined Functions to extend the DFDL expression language
org.apache.daffodil.runtime1.layers.api - Provides the classes necessary to create custom Layer extensions to DFDL.