一部のアプリケーションのカスタマイズを許可するために rhino を使用しています。Java から呼び出される JavaScript 関数の例を次に示します。
function() {
var phone = this.telephoneNumber;
phone = phone.replace(/[^+0-9]/g,"");
if (phone.indexOf("+") == 0) {
phone = "00" + phone.substring(1);
}
if (phone.indexOf("0041") == 0) {
phone = "0" + phone.substring(4);
}
if (phone.indexOf("0") == 0) {
phone = "0" + phone;
}
return {
Name: this.sn + " " + this.givenName,
firstName: this.givenName || "",
lastName: this.sn || "",
phone: phone,
service: "",
info: ""
};
}
その後、Java アプリケーションは、必要に応じて返されたオブジェクトの値を取得できます。
rhino が JVM の一部になったので、Rhino API の代わりにスクリプト API を使用したいと考えていますが、Java コードから JavaScript オブジェクトのフィールド値を取得する方法が見つかりません。