bsloane1650 commented on a change in pull request #273: WIP: Add User Defined
Functions Capability
URL: https://github.com/apache/incubator-daffodil/pull/273#discussion_r331707033
##########
File path:
daffodil-test/src/test/java/org/goodudfs/example/StringFunctions/StringFunctionsProvider.java
##########
@@ -0,0 +1,25 @@
+package org.goodudfs.example.StringFunctions;
+
+import org.apache.daffodil.udf.*;
+
+public class StringFunctionsProvider extends UDFunctionProvider {
+ public StringFunctionsProvider() {
+ super.setFunctionClasses( new Class<?>[] { Replace.class,
Compare.class } );
+ }
+
+ public Object lookupFunctionClass(String namespace, String name) {
+ Object functionClass = null;
+
+ String nn = String.join("_", namespace, name);
+
+ switch (nn) {
+ case "com.ext.UDFunction.StringFunctions_replace":
+ functionClass = new Replace();
+ break;
+ case "com.ext.UDFunction.StringFunctions_compare":
+ functionClass = new Compare();
+ break;
+ }
+ return functionClass;
Review comment:
The naming here is a bit confusing. It sounds like you are returning a the
Class<?> object corresponding to the function, but you are actually returning
an instantiated object.
I suggest renaming to functionObject here and in the method name.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services