Extending a Java class
Axel Dörfler
axeld at pinc-software.de
Fri Sep 28 09:49:11 UTC 2018
Am 28/09/2018 um 11:34 schrieb Sundararajan Athijegannathan:
> It is hard to say what went wrong without looking at your full sample/test.
>
> Openjdk wiki page explains Java.extend function is here:
> http://hg.openjdk.java.net/jdk/jdk/file/7bd8d6b011c9/src/sample/nashorn/resourcetrysuggester.js
Thanks! This usage suggests that it should actually work.
Here is my full example stripped down to the bare minimum:
----------------8<----------------
var MatcherEditor =
Java.type("ca.odell.glazedlists.matchers.AbstractMatcherEditor");
var filter = new (Java.extend(MatcherEditor)) {
setEnabled: function(enabled) {
if (enabled) {
fireMatchNone();
} else {
fireMatchAll();
}
}
};
filter.setEnabled(true);
----------------8<----------------
The error is:
TypeError: filter.setEnabled is not a function in <eval> at line number 13
For the Glazedlists class used, see here:
http://static.javadoc.io/net.java.dev.glazedlists/glazedlists_java16/1.10.0/ca/odell/glazedlists/matchers/AbstractMatcherEditor.html
Source:
https://github.com/glazedlists/glazedlists/blob/master/core/src/main/java/ca/odell/glazedlists/matchers/AbstractMatcherEditor.java
That looks like a bug to me. But if there's a workaround, I'll take it :-)
Kind regards,
Axel Dörfler.
More information about the nashorn-dev
mailing list