Javascript , , . Javascript , .
"" Java Javascript Javascript, , , , .
, , , :
myGenericInterfaceImpl = new Object();
myGenericInterfaceImpl.calcStuff = function(input) {
println("--- calcStuff called ---");
println("input" + input);
println("typeof(input):" + typeof(input));
println(input.charAt(0));
return input.length();
}
, String.
, Java-, String:
public static class MyClass {
public static void callMyInterface(IMyInterface<String> myInterface){
System.out.println(myInterface.calcStuff("some Input"));
}
}
Javascript :
// do some Java thing with the generic String type interface
Packages.myPackage.MyClass.callMyInterface(new Packages.myPackage.IMyInterface(myInterfaceImpl)));
, Rhino, Java Javascript, Rhino:
InterfaceAdapter#create() VMBridge#newInterfaceProxy(), Java Proxy , InterfaceAdapter . - Java Javascript.
**
* Make glue object implementing interface cl that will
* call the supplied JS function when called.
* Only interfaces were all methods have the same signature is supported.
*
* @return The glue object or null if <tt>cl</tt> is not interface or
* has methods with different signatures.
*/
static Object create(Context cx, Class<?> cl, ScriptableObject object)
Java, Javascript, , , - Rhino ( , , Rhino , ).
, Rhino, Java Scripting API, Java Java. Java:
Rhino JavaAdapter . JavaAdapter - Java- JavaScript Java, JavaScript. Rhino JavaAdapter JavaAdapter. , Java- JavaScript.
, , Rhino ( ).