For up-to-date product documentation, see the IBM MobileFirst Foundation Developer Center.
Calling Java code from a JavaScript adapter
Follow these instructions to instantiate Java™ objects and call their methods from JavaScript code in your adapter.
Before you begin
Attention: The name of any Java package to which you refer from within an adapter must start with the domains com, org, or net.
Procedure
- Instantiate a Java object by using the new keyword and apply the method on the newly instantiated object.
- Optional: Assign a JavaScript variable to be used as a reference to the newly instantiated object. For example:
var x = new MyJavaClass(); var y = x.myMethod(1, "a");
- Add the Java classes in either of the following ways:
- As source files of the JavaScript adapter, under <adapter>/src/main/java/<package>.
- As Maven dependencies. See Third-party Maven dependencies.
Example
The following snippets demonstrate how to invoke custom Java classes from the JavaScript code in your adapter. Assume you are adding a class Calculator to our Java class and that it contains a static method addTwoIntegers and an instance method subtractTwoIntegers:public class Calculator { // Add two integers public static int addTwoIntegers (int first, int second){ return first+second ; } // Subtract two integers public int subtractTwoIntegers (int first, int second){ return first-second ; } }
- Invoke the static Java method and use the full class name to reference it directly
function addTwoIntegers (a, b){ return { result: com.sample.customcode.Calculator.addTwoIntegers (a, b) }; }
- Use the instance method: create a class instance and invoke the instance method from it
function subtractTwoIntegers (a, b){ var calcInstance = new com.sample.customcode.Calculator(); return { result: calcInstance.subtractTwoIntegers (a, b) }; }
Parent topic: Develop JavaScript adapter code