1 /* |
1 /* |
2 * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. |
3 * |
3 * |
4 * Redistribution and use in source and binary forms, with or without |
4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions |
5 * modification, are permitted provided that the following conditions |
6 * are met: |
6 * are met: |
7 * |
7 * |
8 * - Redistributions of source code must retain the above copyright |
8 * - Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. |
9 * notice, this list of conditions and the following disclaimer. |
10 * |
10 * |
11 * - Redistributions in binary form must reproduce the above copyright |
11 * - Redistributions in binary form must reproduce the above copyright |
12 * notice, this list of conditions and the following disclaimer in the |
12 * notice, this list of conditions and the following disclaimer in the |
13 * documentation and/or other materials provided with the distribution. |
13 * documentation and/or other materials provided with the distribution. |
14 * |
14 * |
15 * - Neither the name of Oracle nor the names of its |
15 * - Neither the name of Oracle nor the names of its |
16 * contributors may be used to endorse or promote products derived |
16 * contributors may be used to endorse or promote products derived |
17 * from this software without specific prior written permission. |
17 * from this software without specific prior written permission. |
18 * |
18 * |
19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS |
19 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS |
20 * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, |
20 * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, |
21 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
21 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR |
22 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR |
23 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
23 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
27 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING |
27 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING |
28 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
28 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
29 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
29 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
30 */ |
30 */ |
31 |
31 |
32 // simple example showing how to call a global script |
32 // simple example showing how to call a global script |
33 // function from caller |
33 // function from caller |
34 |
34 |
35 var ScriptEngineManager = Java.type("javax.script.ScriptEngineManager"); |
35 var ScriptEngineManager = Java.type("javax.script.ScriptEngineManager"); |
36 // create manager |
36 // create manager |
37 var manager = new ScriptEngineManager(); |
37 var manager = new ScriptEngineManager(); |
40 |
40 |
41 // eval code! |
41 // eval code! |
42 engine.eval("function func(name) { print('I am func, hello ' + name) }"); |
42 engine.eval("function func(name) { print('I am func, hello ' + name) }"); |
43 |
43 |
44 // invoke functions, methods of code evaluated by engine |
44 // invoke functions, methods of code evaluated by engine |
45 // from javax.script.Invocable interface. But, hey, |
45 // from javax.script.Invocable interface. But, hey, |
46 // calling code is JavaScript and don't worry about types :) |
46 // calling code is JavaScript and don't worry about types :) |
47 |
47 |
48 engine.invokeFunction("func", "Nashorn"); |
48 engine.invokeFunction("func", "Nashorn"); |