FESI.jslib
インタフェース JSObject

既知のサブインタフェースの一覧:
JSGlobalObject

public abstract interface JSObject

Java と ECMAScript インタプリタ FESI を仲立ちするインタフェースです。 Netscape の JavaScript と Java 間のインタフェースを基にしており、 ほぼ互換です。

このインタフェースは FESI オブジェクトがエクスポートするものであり、 ユーザーオブジェクトがこのインタフェースを拡張することを意図しているわけではなく、 また拡張しても意味がありません。

FESI はプロパティの検索にイントロスペクションを使うので、 関数以外のオブジェクトでは特定のインタフェースを実装する必要はありません。 関数オブジェクトは JSFunction を実装しなければなりません。


メソッドの概要
 java.lang.Object call(java.lang.String methodName, java.lang.Object[] args)
          このオブジェクト上の指定された ECMAScript メソッドを呼び出します。
 java.lang.Object eval(java.io.Reader r, java.lang.String d)
          このオブジェクトを 'this' オブジェクトとして、Reader ストリームを 評価します。
 java.lang.Object eval(java.lang.String s)
          このオブジェクトを 'this' オブジェクトとして、文字列を評価します。
 java.lang.Object evalAsFunction(java.lang.String s)
          このオブジェクトを 'this' オブジェクトとして、文字列を評価します。
 java.lang.Object evalAsFunction(java.lang.String s, java.lang.String[] names, java.lang.Object[] values)
          このオブジェクトを 'this' オブジェクトとして、文字列を評価します。
 JSGlobalObject getGlobalObject()
          インタプリタのグローバルオブジェクトを取得します。
 java.lang.Object getMember(java.lang.String name)
          このオブジェクトの名前付きプロパティを取得します。
 java.lang.Object getSlot(int index)
          このオブジェクトのインデックス付きプロパティを取得します (配列に便利)。
 void removeMember(java.lang.String name)
          このオブジェクトの名前付きプロパティを削除します。
 void setMember(java.lang.String name, java.lang.Object value)
          このオブジェクトの名前付きプロパティを設定します。
 void setSlot(int index, java.lang.Object value)
          インデックス値を使ってプロパティを設定します。
 

メソッドの詳細

call

public java.lang.Object call(java.lang.String methodName,
                             java.lang.Object[] args)
                      throws JSException
このオブジェクト上の指定された ECMAScript メソッドを呼び出します。
パラメータ:
methodName - 呼び出すメソッドの名前
args - 引数の配列
戻り値:
評価の結果
例外:
JSException - 実行中のあらゆるエラー

eval

public java.lang.Object eval(java.lang.String s)
                      throws JSException
このオブジェクトを 'this' オブジェクトとして、文字列を評価します。 文字列はメインプログラムとみなされ、return 文は使えません。
パラメータ:
s - 評価する文字列
戻り値:
評価の結果 (値が返らなければ null)
例外:
JSException - 実行中のあらゆるエラー

eval

public java.lang.Object eval(java.io.Reader r,
                             java.lang.String d)
                      throws JSException
このオブジェクトを 'this' オブジェクトとして、Reader ストリームを 評価します。ストリームはメインプログラムとみなされ、return 文は 使えません。
パラメータ:
r - 評価する Reader ストリーム
d - Reader の説明 (エラーメッセージ用)
戻り値:
評価の結果 (値が返らなければ null)
例外:
JSException - 実行中のあらゆるエラー

evalAsFunction

public java.lang.Object evalAsFunction(java.lang.String s)
                                throws JSException
このオブジェクトを 'this' オブジェクトとして、文字列を評価します。 文字列は関数とみなされ、return 文が使えます。
パラメータ:
s - 評価する文字列
戻り値:
評価の結果 (値が返らなければ null)
例外:
JSException - 実行中のあらゆるエラー

evalAsFunction

public java.lang.Object evalAsFunction(java.lang.String s,
                                       java.lang.String[] names,
                                       java.lang.Object[] values)
                                throws JSException
このオブジェクトを 'this' オブジェクトとして、文字列を評価します。 文字列は関数とみなされ、return 文が使えます。 指定した引数が渡されます (names と values は同じ長さでなければなりません)。
パラメータ:
s - 評価する文字列
names - 各引数の名前
values - 各引数の値
戻り値:
評価の結果 (値が返らなければ null)
例外:
JSException - 実行中のあらゆるエラー

getMember

public java.lang.Object getMember(java.lang.String name)
                           throws JSException
このオブジェクトの名前付きプロパティを取得します。
パラメータ:
name - 取得するプロパティの名前
戻り値:
プロパティの値
例外:
JSException - 実行中のあらゆるエラー

getSlot

public java.lang.Object getSlot(int index)
                         throws JSException
このオブジェクトのインデックス付きプロパティを取得します (配列に便利)。
パラメータ:
index - プロパティのインデックス値 (配列でない場合は文字列に変換される)
戻り値:
プロパティの値
例外:
JSException - 実行中のあらゆるエラー

removeMember

public void removeMember(java.lang.String name)
                  throws JSException
このオブジェクトの名前付きプロパティを削除します。
パラメータ:
name - 削除するプロパティの名前
例外:
JSException - 実行中のあらゆるエラー

setMember

public void setMember(java.lang.String name,
                      java.lang.Object value)
               throws JSException
このオブジェクトの名前付きプロパティを設定します。
パラメータ:
name - 設定するプロパティの名前
value - プロパティを設定する値
例外:
JSException - 実行中のあらゆるエラー

setSlot

public void setSlot(int index,
                    java.lang.Object value)
             throws JSException
インデックス値を使ってプロパティを設定します。配列に便利です。
パラメータ:
index - 配列中でのそのプロパティのインデックス
value - プロパティを設定する値
例外:
JSException - 実行中のあらゆるエラー

getGlobalObject

public JSGlobalObject getGlobalObject()
インタプリタのグローバルオブジェクトを取得します。