Call java script - Then Create and access java int Array in javascript - in Nashorn Javascript (js) Engine in Java 8




Program/ Example of Nashorn Javascript (js) Engine in Java 8 - Call java script - Then Create and access java int Array in javascript>

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
/**
* Call java script - Then Create and access java intArray in javascript
*
*/
public class Nashorn_useJavaObjects_intArray_InJavascript {
   public static void main(String[] args) throws Exception {
          ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");
          System.out.println("In java - START");
          // Call js (javascript) file
      engine.eval("load('E:/pocJmse/myNashornJavaScript.js')");
          System.out.println("In java - FINISH");
   }
}
/* OUTPUT
In java - START
In myNashornJavaScript.js
Step 1 - Create java intArray in javascript
Step 2 - Initialize java intArray with size 2 in javascript
Step 3 - Assign values in java intArray
Step 4 - Display myIntArrayJava using for loop in javascript >
10
11
Step 5 - Display myIntArrayJava using for each loop in javascript >
10
11
Step 6 - Exception when we access non available index in javascript>
Array index out of range: 4
End myNashornScript.js
In java - FINISH
*/


E:/pocJmse/myNashornJavaScript.js looks like this >
print('In myNashornJavaScript.js');
print('Step 1 - Create java intArray in javascript');
var intArrayJava = Java.type('int[]');
print('\nStep 2 - Initialize java intArray with size 2 in javascript');
var myIntArrayJava = new intArrayJava(2);
print('\nStep 3 - Assign values in java intArray');
myIntArrayJava[0] = 10;
myIntArrayJava[1] = 11;
print('\nStep 4 - Display myIntArrayJava using for loop in javascript > ');
for (i = 0 ; i < 2 ;i++)
   print(myIntArrayJava[i]);
print('\nStep 5 - Display myIntArrayJava using for each loop in javascript >');
for each (var i in myIntArrayJava)
print(i);
print('\nStep 6 - Exception when we access non available index in javascript>');
try {
   myIntArrayJava[4] = 8; //It will throw exception - Array index out of range: 4
} catch (e) {
   print(e.message);
}
print('End myNashornScript.js');



Having any doubt? or you you liked the tutorial! Please comment in below section.
Please express your love by liking JavaMadeSoEasy.com (JMSE) on facebook, following on google+ or Twitter.

eEdit
Must read for you :