It is hard to say what went wrong without looking at your full sample/test.
Openjdk wiki page explains Java.extend function is here:
https://wiki.openjdk.java.net/display/Nashorn/Nashorn%2Bextensions#Nashornextensions-java_extend
You may want to take a look at nashorn samples that use Java.extend such
these ->
http://hg.openjdk.java.net/jdk/jdk/file/7bd8d6b011c9/src/sample/nashorn/flexijson.js
http://hg.openjdk.java.net/jdk/jdk/file/7bd8d6b011c9/src/sample/nashorn/resourcetrysuggester.js
Hope this helps,
-Sundar
On 27/09/18, 8:53 PM, Axel Dörfler wrote:
Hi there,
I'm trying to extend an Abstract java base class, and add a new method
to it. However, that doesn't seem to work.
I've tried it like this:
var object = Java.extend(MyType, {
newFunction: function(argument) {
...
}
});
And that:
MyType.newFunction = function(...) {...};
var object = new MyType;
And also:
var object = new MyType({
newFunction: ...
});
While it will all happily accept those things, none of them worked.
When I try to call the method, it'll say:
TypeError: object.newFunction is not a function
Do you have any idea how I could solve this? Overriding an existing
method works easily, adding a new method does not (at least not this
way).
Kind regards,
Axel Dörfler.