Skip to content

Commit 7c319e3

Browse files
committed
working with java types from within javascript
1 parent f90fee0 commit 7c319e3

File tree

2 files changed

+69
-0
lines changed

2 files changed

+69
-0
lines changed

res/nashorn3.js

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
print('------------------');
2+
print('IntArray:');
3+
4+
var IntArray = Java.type('int[]');
5+
6+
var array = new IntArray(5);
7+
array[0] = 5;
8+
array[1] = 4;
9+
array[2] = 3;
10+
array[3] = 2;
11+
array[4] = 1;
12+
13+
for (var i = 0; i < array.length; i++) {
14+
print(array[i]);
15+
}
16+
17+
try {
18+
array[5] = 23;
19+
} catch (e) {
20+
print(e.message);
21+
}
22+
23+
array[0] = "17";
24+
print(array[0]);
25+
26+
array[0] = "wrong type";
27+
print(array[0]);
28+
29+
array[0] = "17.3";
30+
print(array[0]);
31+
32+
print('------------------');
33+
34+
for (var i in array) print(i);
35+
36+
print('------------------');
37+
38+
for each (var val in array) print(val);
39+
40+
print('------------------');
41+
print('ArrayList:');
42+
43+
var ArrayList = Java.type('java.util.ArrayList');
44+
45+
var list = new ArrayList();
46+
list.add('a');
47+
list.add('b');
48+
list.add('c');
49+
50+
for each (var el in list) print(el);

src/com/winterbe/java8/Nashorn3.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.winterbe.java8;
2+
3+
import javax.script.ScriptEngine;
4+
import javax.script.ScriptEngineManager;
5+
import java.io.FileReader;
6+
7+
/**
8+
* Working with java types from javascript.
9+
*
10+
* @author Benjamin Winterberg
11+
*/
12+
public class Nashorn3 {
13+
14+
public static void main(String[] args) throws Exception {
15+
ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");
16+
engine.eval(new FileReader("res/nashorn3.js"));
17+
}
18+
19+
}

0 commit comments

Comments
 (0)