Rhino: Aufruf von überladenen Methoden eines Java Objekts im JavaScript -
01-06-2008
, 01:54 AM
Hallo miteinander,
seit einiger Zeit nutze ich Mozilla Rhino (Window XP/Java 1.6.x/Rhino
1.6R7) und stolpere leider immer wieder über Java/JavaScript Probleme.
Wie im folgenden Beispiel, findet man im Internet zwar den einen oder
anderen Ansatz, aber eine wirkliche Lösung habe ich bisher nicht
finden können ...
Es geht einfach nur darum, eine Java Methode, die in mehren Versionen
vorliegt, aufzurufen.
Im folgenden Beispiel wäre das OutputStream::Write.
try {
importClass(java.net.Socket);
var server = new Socket("127.0.0.1", 25001);
server.getOutputStream().write(new
java.lang.String("...").getBytes());
server.close();
} catch (exception) {
print(exception);
}
Die Antwort vom Interpreter:
InternalError: The choice of Java constructor write matching
JavaScript argument types ([B) is ambiguous; candidate constructors
are:
void write(int)
void write(byte[]) ...
server.getOutputStream()["void write(byte[])"](...)
server.getOutputStream().write["(byte[])"](...)
server.getOutputStream().write["byte[]"](...)
oder ähnliches funktionierten leider nicht ...
Hat jemand eine Lösung oder einen Tipp?
Danke und Gruss, Oliver. |