Working with the Simple Interface
Use the invokeJExpression Java API method to invoke an expression in the simple interface.
invokeJExpression
Invokes an expression and returns the value for the expression.
Use the following syntax:
(datatype)invokeJExpression(
String expression,
Object[] paramMetadataArray);
Input parameters for the invokeJExpression method are a string value that represents the expression and an array of objects that contain the expression input parameters.
The following table describes the parameters:
Parameter | Parameter Type | Datatype | Description |
---|
expression | Input | String | String that represents the expression. |
paramMetadataArray | Input | Object[] | Array of objects that contain the input parameters for the expression. |
You can add the invokeJExpression method to the Java code on any code entry tab except the Imports and Functions tabs.
Use the following rules and guidelines when you use the invokeJExpression method:
- •Return datatype. The return datatype of the invokeJExpression method is an object. You must cast the return value of the function with the appropriate datatype.
You can return values with Integer, Double, String, and byte[] datatypes.
- •Row type. The row type for return values from the invokeJExpression method is INSERT.
To use a different row type for the return value, use the advanced interface.
- •Null values. If you pass a null value as a parameter or the return value for the invokeJExpression method is NULL, the value is treated as a null indicator.
For example, if the return value of an expression is NULL and the return datatype is String, a string is returned with a value of null.
- •Date datatype. You must convert input parameters with a Date datatype to the String datatype.
To use the string in an expression as a Date datatype, use the to_date() function to convert the string to a Date datatype.
Also, you must cast the return type of any expression that returns a Date datatype as a String datatype.
Simple Interface Example
You can define and call expressions that use the invokeJExpression API method on the Helpers and On Input code entry tabs.
The following example shows how to complete a lookup on the NAME and ADDRESS input ports in a Java transformation and assign the return value to the COMPANY_NAME output port.
Enter the following code on the On Input code entry tab:
COMPANY_NAME = (String)invokeJExpression(":lkp.my_lookup(X1,X2)", new Object [] {str1 ,str2} );
generateRow();