MoinMoin Logo
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Navigation

  • Start
  • Sitemap
Revision 3 as of 2019-08-23 13:47:58
  • Java
  • rhino

rhino

Rhino is an open-source implementation of JavaScript written entirely in Java.

It is typically embedded into Java applications to provide scripting to end users.

It is embedded in J2SE 6 as the default Java scripting engine.

https://developer.mozilla.org/en-US/docs/Rhino

Invoke JavaScript from Java example

   1 // /tmp/test.js
   2 function isOdd(number) { 
   3   if(number % 2){
   4     return false;
   5   }
   6   else{
   7   return  true;  
   8   }
   9 };

   1 import javax.script.Invocable;
   2 import javax.script.ScriptEngine;
   3 import javax.script.ScriptEngineManager;
   4 import javax.script.ScriptException;
   5 import java.io.FileNotFoundException;
   6 import java.io.FileReader;
   7 
   8 public class JSTest {
   9 
  10         /**
  11          * @param args
  12          */
  13         public static void main(String[] args) {
  14                 ScriptEngineManager sem = new ScriptEngineManager();
  15                 ScriptEngine engine = sem.getEngineByName("ECMAScript");
  16                 FileReader fr = null;
  17                 String path = "/tmp/test.js";
  18                 try {
  19                         fr = new FileReader(path);
  20                 } catch (FileNotFoundException e) {
  21                         System.out.println(String.format("File %s not found", path));
  22                 }
  23 
  24                 if (fr != null) {
  25                         try {
  26                                 engine.eval(fr);
  27                                 if (engine instanceof Invocable) {
  28                                         Invocable iv = (Invocable) engine;
  29 
  30                                         try {
  31                                                 System.out.println(iv.invokeFunction("isOdd", new Integer(4)));
  32                                                 System.out.println(iv.invokeFunction("isOdd", new Integer(5)));
  33                                         } catch (NoSuchMethodException ex) {
  34                                                 ex.printStackTrace();
  35                                         } catch (ScriptException ex) {
  36                                                 ex.printStackTrace();
  37                                         }
  38                                 }
  39                         } catch (ScriptException ex) {
  40                                 ex.printStackTrace();
  41                         }
  42                 }
  43         }
  44 
  45 }

switch case example

   1 caseA = ["a","e","i","o","u"]
   2 caseB = ["b","c","d","f","g"]
   3 caseC = ["h","j","k","l","m"]
   4 caseD = ["n","p","q","r","s","t","v","w","x","y","z"]
   5 
   6 function check_if(string){
   7   letter = string[0];
   8   if( caseA.indexOf(letter) >=0) return "A"
   9   if( caseB.indexOf(letter) >=0) return "B"
  10   if( caseC.indexOf(letter) >=0) return "C"
  11   if( caseD.indexOf(letter) >=0) return "D"
  12 }
  13 
  14 function check_case2(string){
  15   letter = string[0];
  16 
  17   switch(true){
  18     case caseA.indexOf(letter) >=0: return "A"
  19     case caseB.indexOf(letter) >=0: return "B"
  20     case caseC.indexOf(letter) >=0: return "C"
  21     case caseD.indexOf(letter) >=0: return "D"  
  22   }
  23 
  24 }
  25 
  26 function check_case(string){
  27   letter = string[0];
  28   switch(letter){
  29     case "a":
  30     case "e": 
  31     case "i":
  32     case "o":
  33     case "u":
  34       return "A";
  35     case "b":
  36     case "c":
  37     case "d":
  38     case "f":
  39     case "g":
  40       return "B";
  41     case "h":
  42     case "j":
  43     case "k":
  44     case "l":
  45     case "m":
  46       return "C";
  47     default:
  48       return "D";
  49    }
  50 
  51 }
  52 
  53 print( check_if("adfgt") );
  54 print( check_if("fdfgt") );
  55 print( check_if("kdfgt") );
  56 print( check_if("wdfgt") );
  57 print("####");
  58 print( check_case("adfgt") );
  59 print( check_case("fdfgt") );
  60 print( check_case("kdfgt") );
  61 print( check_case("wdfgt") );
  62 print("####");
  63 print( check_case2("adfgt") );
  64 print( check_case2("fdfgt") );
  65 print( check_case2("kdfgt") );
  66 print( check_case2("wdfgt") );
  67 print("####");
  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01