モジュール jdk.scripting.nashorn
パッケージ jdk.nashorn.api.scripting

クラスScriptObjectMirror

  • すべての実装されたインタフェース:
    Map<String,Object>, Bindings, JSObject


    public final class ScriptObjectMirror
    extends AbstractJSObject
    implements Bindings
    指定のNashornスクリプト・オブジェクトをラップするミラー・オブジェクト。
    導入されたバージョン:
    1.8u40
    • ネストされたクラスのサマリー

      • インタフェース java.util.Mapから継承されたネストされたクラス/インタフェース

        Map.Entry<K,V>
    • メソッドのサマリー

      すべてのメソッド staticメソッド インスタンス・メソッド 具象メソッド 非推奨のメソッド 
      修飾子と型 メソッド 説明
      Object call​(Object thiz, Object... args)
      このオブジェクトをJavaScript関数として呼び出します。
      Object callMember​(String functionName, Object... args)
      メンバー関数のコール
      void clear​()
      マップからマッピングをすべて削除します(オプションの操作)。
      boolean containsKey​(Object key)
      指定されたキーのマッピングがこのマップに含まれている場合にtrueを返します。
      boolean containsValue​(Object value)
      このマップが1つまたは複数のキーと指定された値をマッピングしている場合にtrueを返します。
      boolean delete​(Object key)
      このオブジェクトからプロパティを削除します。
      Set<Map.Entry<String,Object>> entrySet​()
      このマップに含まれるマッピングのSetビューを返します。
      boolean equals​(Object other)
      このオブジェクトと他のオブジェクトが等しいかどうかを示します。
      Object eval​(String s)
      JavaScript式を評価します。
      ScriptObjectMirror freeze​()
      ECMA 15.2.39 - freezeの実装。
      Object get​(Object key)
      マップが指定されたキーをマップする値を返します。
      String getClassName​()
      ECMA [[Class]]プロパティ
      Object getDefaultValue​(Class<?> hint)
      このオブジェクトの[[DefaultValue]]メソッドをECMAScript 5.1のセクション8.6.2に従って実装します。
      Object getMember​(String name)
      このJavaScriptオブジェクトの名前付きメンバーを取得します。
      String[] getOwnKeys​(boolean all)
      オブジェクトに関連付けられている独自のプロパティ・キーの配列を返します。
      Object getOwnPropertyDescriptor​(String key)
      ECMA 8.12.1 [[GetOwnProperty]] (P)
      Object getProto​()
      このオブジェクトの__proto__を返します。
      Object getSlot​(int index)
      このJavaScriptオブジェクトの索引付きメンバーを取得します。
      int hashCode​()
      オブジェクトのハッシュ・コード値を返します。
      boolean hasMember​(String name)
      このオブジェクトに名前付きメンバーがありますか。
      boolean hasSlot​(int slot)
      このオブジェクトに索引付きプロパティがありますか。
      static boolean identical​(Object obj1, Object obj2)
      指定のオブジェクトは同じ配下のオブジェクトにミラー化されますか。
      boolean isArray​()
      これは配列オブジェクトですか。
      boolean isEmpty​()
      このマップがキーと値のマッピングを保持しない場合にtrueを返します。
      boolean isExtensible​()
      このスクリプト・オブジェクトが拡張可能かどうかをチェックします
      boolean isFrozen​()
      このスクリプト・オブジェクトが固定されているかどうかをチェックします
      boolean isFunction​()
      これは関数オブジェクトですか。
      boolean isInstance​(Object instance)
      指定のオブジェクトが'this'オブジェクトのインスタンスかどうかのチェック。
      boolean isSealed​()
      このスクリプト・オブジェクトがシールされているかどうかをチェックします
      boolean isStrictFunction​()
      これは'use strict'関数オブジェクトですか。
      static boolean isUndefined​(Object obj)
      指定のオブジェクトがECMAScript未定義の値かどうかをチェックするユーティリティ
      Set<String> keySet​()
      このオブジェクトのすべてのプロパティ名のセットを返します。
      Object newObject​(Object... args)
      この'constructor' JavaScript関数を呼び出して新規オブジェクトを作成します。
      ScriptObjectMirror preventExtensions​()
      このスクリプト・オブジェクトを拡張不可としてフラグを設定します
      Object put​(String key, Object value)
      名前を付けられた値を設定します。
      void putAll​(Map<? extends String,? extends Object> map)
      指定されたMap内のすべてのマッピングをこのBindingsに追加します。
      Object remove​(Object key)
      このキーにマッピングがある場合に、そのマッピングをマップから削除します(オプションの操作)。
      void removeMember​(String name)
      このJavaScriptオブジェクトから名前付きメンバーを削除します
      ScriptObjectMirror seal​()
      ECMAScript 15.2.3.8 - sealの実装
      void setIndexedPropertiesToExternalArrayData​(ByteBuffer buf)
      Nashorn拡張: setIndexedPropertiesToExternalArrayData。
      void setMember​(String name, Object value)
      このJavaScriptオブジェクトに名前付きメンバーを設定します
      void setProto​(Object proto)
      このオブジェクトの__proto__を設定します。
      void setSlot​(int index, Object value)
      このJavaScriptオブジェクトに索引付きメンバーを設定します
      int size​()
      このマップ内のキー値マッピングの数を返します。
      <T> T to​(Class<T> type)
      このスクリプト・オブジェクトを指定のタイプに変換するユーティリティ。
      double toNumber​()
      非推奨。 
      String toString​()
      オブジェクトの文字列表現を返します。
      static Object unwrap​(Object obj, Object homeGlobal)
      必要な場合はスクリプト・オブジェクト・ミラーをアンラップします。
      static Object[] unwrapArray​(Object[] args, Object homeGlobal)
      必要な場合はスクリプト・オブジェクト・ミラーの配列をアンラップします。
      Collection<Object> values​()
      このオブジェクトのすべてのプロパティ値のセットを返します。
      static Object wrap​(Object obj, Object homeGlobal)
      必要な場合は指定のオブジェクト上でスクリプト・オブジェクト・ミラーを作成します。
      static Object[] wrapArray​(Object[] args, Object homeGlobal)
      必要な場合はオブジェクトの配列をスクリプト・オブジェクト・ミラーにラップします。
      static Object wrapAsJSONCompatible​(Object obj, Object homeGlobal)
      必要な場合は指定のオブジェクト上でスクリプト・オブジェクト・ミラーを作成します。
    • メソッドの詳細

      • equals

        public boolean equals​(Object other)
        次のクラスからコピーされた説明: Object
        このオブジェクトと他のオブジェクトが等しいかどうかを示します。

        equalsメソッドは、null以外のオブジェクト参照での同値関係を実装します。

        • 反射性(reflexive): null以外の参照値xについて、x.equals(x)trueを返します。
        • 対称性(symmetric): null以外の参照値xおよびyについて、y.equals(x)trueを返す場合に限り、x.equals(y)trueを返します。
        • 推移性(transitive): null以外の参照値xy、およびzについて、x.equals(y)trueを返し、y.equals(z)trueを返す場合、x.equals(z)trueを返します。
        • 一貫性(consistent): null以外の参照値xおよびyについて、x.equals(y)の複数の呼出しは、このオブジェクトに対するequalsによる比較で使われた情報が変更されていなければ、一貫してtrueを返すか、一貫してfalseを返します。
        • null以外の参照値xについて、x.equals(null)falseを返します。

        Objectクラスのequalsメソッドは、もっとも比較しやすいオブジェクトの同値関係を実装します。つまり、null以外の参照値xyについて、このメソッドはxyが同じオブジェクトを参照する(x == ytrue)場合にだけtrueを返します。

        通常、このメソッドをオーバーライドする場合は、hashCodeメソッドを常にオーバーライドして、「等価なオブジェクトは等価なハッシュ・コードを保持する必要がある」というhashCodeメソッドの汎用規約に従う必要があることに留意してください。

        定義:
        インタフェースMap<String,Object>equals
        オーバーライド:
        equals 、クラス:  Object
        パラメータ:
        other - 比較対象の参照オブジェクト。
        戻り値:
        このオブジェクトがobj引数と同じである場合はtrue、それ以外の場合はfalse
        関連項目:
        Object.hashCode()HashMap
      • hashCode

        public int hashCode​()
        次のクラスからコピーされた説明: Object
        オブジェクトのハッシュ・コード値を返します。 このメソッドは、HashMapによって提供されるハッシュ表などの、ハッシュ表の利点のためにサポートされています。

        hashCodeの一般的な規則は次のとおりです。

        • Javaアプリケーションの実行中に同じオブジェクトに対して複数回呼び出された場合は常に、このオブジェクトに対するequalsの比較で使用される情報が変更されていなければ、hashCodeメソッドは常に同じ整数を返す必要があります。 ただし、この整数は同じアプリケーションの実行ごとに同じである必要はありません。
        • equals(Object)メソッドに従って2つのオブジェクトが等しい場合は、2つの各オブジェクトに対するhashCodeメソッドの呼出しによって同じ整数の結果が生成される必要があります。
        • Object.equals(java.lang.Object)メソッドに従って2つのオブジェクトが等しくない場合は、2つの各オブジェクトに対するhashCodeメソッドの呼出しによって異なる整数の結果が生成される必要はありません ただし、プログラマは、等しくないオブジェクトに対して異なる整数の結果を生成すると、ハッシュ表のパフォーマンスが向上する可能性があることに注意するようにしてください。

        クラスObjectによって定義されたhashCodeメソッドは、可能なかぎり、異なるオブジェクトに対して異なる整数を返します。 (hashCodeは、ある時点におけるオブジェクト・メモリー・アドレスの関数として実装されても実装されなくてもよい。)

        定義:
        インタフェースMap<String,Object>hashCode
        オーバーライド:
        hashCode 、クラス:  Object
        戻り値:
        このオブジェクトのハッシュ・コード値。
        関連項目:
        Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)
      • toString

        public String toString​()
        次のクラスからコピーされた説明: Object
        オブジェクトの文字列表現を返します。 一般に、toStringメソッドは、このオブジェクトを「テキストで表す」文字列を返します。 この結果は、人間が読める簡潔で有益な情報であるべきです。 すべてのサブクラスで、このメソッドをオーバーライドすることをお勧めします。

        クラスObjecttoStringメソッドは、オブジェクトがインスタンスになっている元のクラスの名前、アットマーク文字「@」、およびオブジェクトのハッシュ・コードの符号なし16進数表現から構成される文字列を返します。 つまり、このメソッドは次の値と等しい文字列を返します。

         getClass().getName() + '@' + Integer.toHexString(hashCode())
         
        オーバーライド:
        toString 、クラス:  Object
        戻り値:
        このオブジェクトの文字列表現
      • call

        public Object call​(Object thiz,
                           Object... args)
        インタフェースからコピーされた説明:JSObject
        このオブジェクトをJavaScript関数として呼び出します。 これはJavaScriptの'func.apply(thiz, args)'に相当するものです。
        定義:
        インタフェースJSObjectcall
        オーバーライド:
        クラスAbstractJSObjectcall
        パラメータ:
        thiz - 関数に渡される'this'オブジェクト nullも指定できます。
        args - メソッドへの引数
        戻り値:
        コール結果
      • newObject

        public Object newObject​(Object... args)
        インタフェースからコピーされた説明:JSObject
        この'constructor' JavaScript関数を呼び出して新規オブジェクトを作成します。 これはJavaScriptの'new func(arg1, arg2...)'に相当するものです。
        定義:
        インタフェースJSObjectnewObject
        オーバーライド:
        クラスAbstractJSObjectnewObject
        パラメータ:
        args - メソッドへの引数
        戻り値:
        コンストラクタのコール結果
      • eval

        public Object eval​(String s)
        インタフェースからコピーされた説明:JSObject
        JavaScript式を評価します。
        定義:
        インタフェースJSObjecteval
        オーバーライド:
        クラスAbstractJSObjecteval
        パラメータ:
        s - 評価対象のJavaScript式
        戻り値:
        評価結果
      • callMember

        public Object callMember​(String functionName,
                                 Object... args)
        メンバー関数のコール
        パラメータ:
        functionName - 関数名
        args - 引数
        戻り値:
        関数の戻り値
      • getMember

        public Object getMember​(String name)
        インタフェースからコピーされた説明:JSObject
        このJavaScriptオブジェクトの名前付きメンバーを取得します。
        定義:
        インタフェースJSObjectgetMember
        オーバーライド:
        クラスAbstractJSObjectgetMember
        パラメータ:
        name - メンバー
        戻り値:
        メンバー
      • getSlot

        public Object getSlot​(int index)
        インタフェースからコピーされた説明:JSObject
        このJavaScriptオブジェクトの索引付きメンバーを取得します。
        定義:
        インタフェースJSObjectgetSlot
        オーバーライド:
        クラスAbstractJSObjectgetSlot
        パラメータ:
        index - 取得する索引スロット
        戻り値:
        メンバー
      • hasMember

        public boolean hasMember​(String name)
        インタフェースからコピーされた説明:JSObject
        このオブジェクトに名前付きメンバーがありますか。
        定義:
        インタフェースJSObjecthasMember
        オーバーライド:
        クラスAbstractJSObjecthasMember
        パラメータ:
        name - メンバーの名前
        戻り値:
        このオブジェクトに指定の名前のメンバーがある場合はtrue
      • hasSlot

        public boolean hasSlot​(int slot)
        インタフェースからコピーされた説明:JSObject
        このオブジェクトに索引付きプロパティがありますか。
        定義:
        インタフェースJSObjecthasSlot
        オーバーライド:
        クラスAbstractJSObjecthasSlot
        パラメータ:
        slot - チェック対象の索引
        戻り値:
        このオブジェクトにスロットがある場合はtrue
      • removeMember

        public void removeMember​(String name)
        インタフェースからコピーされた説明:JSObject
        このJavaScriptオブジェクトから名前付きメンバーを削除します
        定義:
        インタフェースJSObjectremoveMember
        オーバーライド:
        クラスAbstractJSObjectremoveMember
        パラメータ:
        name - メンバーの名前
      • setMember

        public void setMember​(String name,
                              Object value)
        インタフェースからコピーされた説明:JSObject
        このJavaScriptオブジェクトに名前付きメンバーを設定します
        定義:
        インタフェースJSObjectsetMember
        オーバーライド:
        クラスAbstractJSObjectsetMember
        パラメータ:
        name - メンバーの名前
        value - メンバーの値
      • setSlot

        public void setSlot​(int index,
                            Object value)
        インタフェースからコピーされた説明:JSObject
        このJavaScriptオブジェクトに索引付きメンバーを設定します
        定義:
        インタフェースJSObjectsetSlot
        オーバーライド:
        クラスAbstractJSObjectsetSlot
        パラメータ:
        index - メンバー・スロットの索引
        value - メンバーの値
      • setIndexedPropertiesToExternalArrayData

        public void setIndexedPropertiesToExternalArrayData​(ByteBuffer buf)
        Nashorn拡張: setIndexedPropertiesToExternalArrayData。索引付きプロパティを指定のnio ByteBufferから公開します。
        パラメータ:
        buf - 外部バッファ - nio ByteBufferです
      • isInstance

        public boolean isInstance​(Object instance)
        インタフェースからコピーされた説明:JSObject
        指定のオブジェクトが'this'オブジェクトのインスタンスかどうかのチェック。
        定義:
        インタフェースJSObjectisInstance
        オーバーライド:
        クラスAbstractJSObjectisInstance
        パラメータ:
        instance - チェックするインスタンス
        戻り値:
        指定の'instance'がこの'function'オブジェクトのインスタンスの場合はtrue
      • getClassName

        public String getClassName​()
        インタフェースからコピーされた説明:JSObject
        ECMA [[Class]]プロパティ
        定義:
        インタフェースJSObjectgetClassName
        オーバーライド:
        クラスAbstractJSObjectgetClassName
        戻り値:
        このオブジェクトのECMA [[Class]]プロパティ値
      • isFunction

        public boolean isFunction​()
        インタフェースからコピーされた説明:JSObject
        これは関数オブジェクトですか。
        定義:
        インタフェースJSObjectisFunction
        オーバーライド:
        クラスAbstractJSObjectisFunction
        戻り値:
        このミラーがECMAScript関数インスタンスをラップするかどうか
      • isStrictFunction

        public boolean isStrictFunction​()
        インタフェースからコピーされた説明:JSObject
        これは'use strict'関数オブジェクトですか。
        定義:
        インタフェースJSObjectisStrictFunction
        オーバーライド:
        クラスAbstractJSObjectisStrictFunction
        戻り値:
        このミラーがECMAScript 'use strict'関数を表す場合はtrue
      • isArray

        public boolean isArray​()
        インタフェースからコピーされた説明:JSObject
        これは配列オブジェクトですか。
        定義:
        インタフェースJSObjectisArray
        オーバーライド:
        クラスAbstractJSObjectisArray
        戻り値:
        このミラーがECMAScript配列オブジェクトをラップするかどうか
      • clear

        public void clear​()
        インタフェースからコピーされた説明: Map
        マップからマッピングをすべて削除します(オプションの操作)。 この呼出しが戻ると、マップは空になります。
        定義:
        clear、インタフェース: Map<String,Object>
      • containsKey

        public boolean containsKey​(Object key)
        インタフェースからコピーされた説明:Bindings
        指定されたキーのマッピングがこのマップに含まれている場合にtrueを返します。 つまり、このマップに、(key==null ? k==null : key.equals(k))となるキーkが含まれている場合にのみtrueを返します。 このようなマッピングは1つのみ存在できます。
        定義:
        containsKey、インタフェース: Bindings
        定義:
        containsKey、インタフェース: Map<String,Object>
        パラメータ:
        key - このマップにあるかどうかが判定されるキー。
        戻り値:
        このマップが指定のキーのマッピングを保持する場合はtrue
      • containsValue

        public boolean containsValue​(Object value)
        インタフェースからコピーされた説明: Map
        このマップが1つまたは複数のキーと指定された値をマッピングしている場合にtrueを返します。 より正式には、このマップがObjects.equals(value, v)のような値vへの少なくとも1つのマッピングを含む場合に限り、trueを返します。 Mapインタフェースのほとんどの実装で、このオペレーションにかかる時間はマップのサイズに正比例します。
        定義:
        containsValue、インタフェース: Map<String,Object>
        パラメータ:
        value - このマップにあるかどうかが判定される値
        戻り値:
        このマップが1つまたは複数のキーを指定された値にマッピングしている場合はtrue
      • entrySet

        public Set<Map.Entry<String,Object>> entrySet​()
        インタフェースからコピーされた説明: Map
        このマップに含まれるマッピングのSetビューを返します。 セットはマップと連動しているので、マップに対する変更はセットに反映され、また、セットに対する変更はマップに反映されます。 セットの反復処理中にマップが変更された場合、反復処理の結果は定義されません(イテレータ自身のremoveオペレーション、またはイテレータにより返されるマップ・エントリに対するsetValueオペレーションを除く)。 セットは要素の削除をサポートしており、対応するマッピングをマップから削除できます。削除は、Iterator.removeSet.removeremoveAllretainAll、およびclearオペレーションを通して行います。 addまたはaddAll操作はサポートされていません。
        定義:
        entrySet、インタフェース: Map<String,Object>
        戻り値:
        マップ内に保持されているマッピングのセット・ビュー
      • get

        public Object get​(Object key)
        インタフェースからコピーされた説明:Bindings
        マップが指定されたキーをマップする値を返します。 マップがこのキーのマッピングを保持していない場合はnullを返します。 戻り値nullは、マップがキーのマッピングを保持していないことを示すとはかぎりません。つまり、マップが明示的にキーをnullにマップすることもあります。 containsKeyオペレーションを使用すると、こうした2つの場合を見分けることができます。

        つまり、このメソッドは、(key==null ? k==null : key.equals(k))となるキーkから値vへのマッピングがこのマップに含まれている場合はvを返し、それ以外の場合はnullを返します。 このようなマッピングは1つのみ存在できます。

        定義:
        get、インタフェース: Bindings
        定義:
        get、インタフェース: Map<String,Object>
        パラメータ:
        key - 関連付けられている値が返されるキー。
        戻り値:
        マップが、指定されたキーにマッピングしている値。このキーに対するマッピングがマップにない場合はnull
      • isEmpty

        public boolean isEmpty​()
        インタフェースからコピーされた説明: Map
        このマップがキーと値のマッピングを保持しない場合にtrueを返します。
        定義:
        isEmpty、インタフェース: Map<String,Object>
        戻り値:
        このマップがキーと値のマッピングを保持しない場合はtrue
      • keySet

        public Set<String> keySet​()
        インタフェースからコピーされた説明:JSObject
        このオブジェクトのすべてのプロパティ名のセットを返します。
        定義:
        インタフェースJSObjectkeySet
        定義:
        keySet、インタフェース: Map<String,Object>
        オーバーライド:
        クラスAbstractJSObjectkeySet
        戻り値:
        プロパティ名のセット
      • put

        public Object put​(String key,
                          Object value)
        インタフェースからコピーされた説明:Bindings
        名前を付けられた値を設定します。
        定義:
        put、インタフェース: Bindings
        定義:
        put、インタフェース: Map<String,Object>
        パラメータ:
        key - 値に関連付けられた名前。
        value - 名前に関連付けられた値。
        戻り値:
        指定された名前に以前に関連付けられた値。 以前に名前に関連付けられた値がなかった場合はnull。
      • putAll

        public void putAll​(Map<? extends String,? extends Object> map)
        インタフェースからコピーされた説明:Bindings
        指定されたMap内のすべてのマッピングをこのBindingsに追加します。
        定義:
        putAll、インタフェース: Bindings
        定義:
        putAll、インタフェース: Map<String,Object>
        パラメータ:
        map - これにマージするMap
      • remove

        public Object remove​(Object key)
        インタフェースからコピーされた説明:Bindings
        このキーにマッピングがある場合に、そのマッピングをマップから削除します(オプションの操作)。 つまり、(key==null ? k==null : key.equals(k))となるキーkから値vへのマッピングがこのマップに含まれる場合、このマッピングは削除されます。 マップはこのようなマッピングを1つだけ含めることができます。

        このマップが以前にこのキーを関連付けていた値を返します。このキーに対するマッピングがマップになかった場合はnullを返します。 nullの戻り値は、実装がnull値をサポートしている場合、マップが以前、指定されたキーとnullを関連付けたことを示す場合もあります。 呼出しが戻ると、マップは指定されたキーのマッピングを含まなくなります。

        定義:
        remove、インタフェース: Bindings
        定義:
        remove、インタフェース: Map<String,Object>
        パラメータ:
        key - マッピングがマップから削除されるキー。
        戻り値:
        指定されたキーと関連付けられていた以前の値。キーのマッピングがなかった場合はnull
      • delete

        public boolean delete​(Object key)
        このオブジェクトからプロパティを削除します。
        パラメータ:
        key - 削除するプロパティ
        戻り値:
        削除が成功したかどうかを示します
      • size

        public int size​()
        インタフェースからコピーされた説明: Map
        このマップ内のキー値マッピングの数を返します。 マップ内にInteger.MAX_VALUEより多くの要素がある場合は、Integer.MAX_VALUEを返します。
        定義:
        size、インタフェース: Map<String,Object>
        戻り値:
        このマップ内のキーと値のマッピングの数
      • values

        public Collection<Object> values​()
        インタフェースからコピーされた説明:JSObject
        このオブジェクトのすべてのプロパティ値のセットを返します。
        定義:
        インタフェースJSObjectvalues
        定義:
        values、インタフェース: Map<String,Object>
        オーバーライド:
        クラスAbstractJSObjectvalues
        戻り値:
        プロパティ値のセット。
      • getProto

        public Object getProto​()
        このオブジェクトの__proto__を返します。
        戻り値:
        __proto__ object。
      • setProto

        public void setProto​(Object proto)
        このオブジェクトの__proto__を設定します。
        パラメータ:
        proto - このオブジェクトの新しいproto
      • getOwnPropertyDescriptor

        public Object getOwnPropertyDescriptor​(String key)
        ECMA 8.12.1 [[GetOwnProperty]] (P)
        パラメータ:
        key - プロパティ・キー
        戻り値:
        このオブジェクトに指定された独自のプロパティのプロパティ記述子、指定されていない場合は未定義のプロパティ記述子を返します。
      • getOwnKeys

        public String[] getOwnKeys​(boolean all)
        オブジェクトに関連付けられている独自のプロパティ・キーの配列を返します。
        パラメータ:
        all - 列挙不能のキーを含む場合はtrue。
        戻り値:
        キーの配列。
      • preventExtensions

        public ScriptObjectMirror preventExtensions​()
        このスクリプト・オブジェクトを拡張不可としてフラグを設定します
        戻り値:
        拡張不能にされた後のオブジェクト
      • isExtensible

        public boolean isExtensible​()
        このスクリプト・オブジェクトが拡張可能かどうかをチェックします
        戻り値:
        拡張可能な場合はtrue
      • seal

        public ScriptObjectMirror seal​()
        ECMAScript 15.2.3.8 - sealの実装
        戻り値:
        シール済スクリプト・オブジェクト
      • isSealed

        public boolean isSealed​()
        このスクリプト・オブジェクトがシールされているかどうかをチェックします
        戻り値:
        シール済の場合はtrue
      • freeze

        public ScriptObjectMirror freeze​()
        ECMA 15.2.39 - freezeの実装。 このスクリプト・プロジェクトを固定
        戻り値:
        固定スクリプト・オブジェクト
      • isFrozen

        public boolean isFrozen​()
        このスクリプト・オブジェクトが固定されているかどうかをチェックします
        戻り値:
        固定されている場合はtrue
      • isUndefined

        public static boolean isUndefined​(Object obj)
        指定のオブジェクトがECMAScript未定義の値かどうかをチェックするユーティリティ
        パラメータ:
        obj - チェック対象のオブジェクト
        戻り値:
        'obj'がECMAScript未定義の値の場合はtrue
      • to

        public <T> T to​(Class<T> type)
        このスクリプト・オブジェクトを指定のタイプに変換するユーティリティ。
        型パラメータ:
        T - 変換する変換先タイプ
        パラメータ:
        type - 変換する変換先タイプ
        戻り値:
        変換されたオブジェクト
      • wrap

        public static Object wrap​(Object obj,
                                  Object homeGlobal)
        必要な場合は指定のオブジェクト上でスクリプト・オブジェクト・ミラーを作成します。
        パラメータ:
        obj - ラップ/変換されるオブジェクト
        homeGlobal - このオブジェクトが属するグローバル。
        戻り値:
        ラップ/変換されたオブジェクト
      • wrapAsJSONCompatible

        public static Object wrapAsJSONCompatible​(Object obj,
                                                  Object homeGlobal)
        必要な場合は指定のオブジェクト上でスクリプト・オブジェクト・ミラーを作成します。 objがJavaScript Arrayオブジェクトの場合、作成されたラッパーはJava Listインタフェースを実装します。これはJava JSONライブラリが必要とする処理と互換性があります。 プロパティによって(推移的に)取得された配列は、リスト・インタフェースも実装します。
        パラメータ:
        obj - ラップ/変換されるオブジェクト
        homeGlobal - このオブジェクトが属するグローバル。
        戻り値:
        ラップ/変換されたオブジェクト
      • unwrap

        public static Object unwrap​(Object obj,
                                    Object homeGlobal)
        必要な場合はスクリプト・オブジェクト・ミラーをアンラップします。
        パラメータ:
        obj - アンラップされるオブジェクト
        homeGlobal - このオブジェクトが属するグローバル
        戻り値:
        アンラップされたオブジェクト
      • wrapArray

        public static Object[] wrapArray​(Object[] args,
                                         Object homeGlobal)
        必要な場合はオブジェクトの配列をスクリプト・オブジェクト・ミラーにラップします。
        パラメータ:
        args - アンラップされる配列
        homeGlobal - このオブジェクトが属するグローバル
        戻り値:
        ラップされた配列
      • unwrapArray

        public static Object[] unwrapArray​(Object[] args,
                                           Object homeGlobal)
        必要な場合はスクリプト・オブジェクト・ミラーの配列をアンラップします。
        パラメータ:
        args - アンラップされる配列
        homeGlobal - このオブジェクトが属するグローバル
        戻り値:
        アンラップされた配列
      • identical

        public static boolean identical​(Object obj1,
                                        Object obj2)
        指定のオブジェクトは同じ配下のオブジェクトにミラー化されますか。
        パラメータ:
        obj1 - 最初のオブジェクト
        obj2 - 2番目のオブジェクト
        戻り値:
        obj1とobj2が同一のスクリプト・オブジェクトまたはそのミラーの場合はtrue。
      • toNumber

        @Deprecated
        public double toNumber​()
        非推奨。 
        次のクラスからコピーされた説明: AbstractJSObject
        このオブジェクトの数値を返します。
        定義:
        インタフェースJSObjecttoNumber
        オーバーライド:
        クラスAbstractJSObjecttoNumber
        戻り値:
        このオブジェクトの数値。
      • getDefaultValue

        public Object getDefaultValue​(Class<?> hint)
        インタフェースからコピーされた説明:JSObject
        このオブジェクトの[[DefaultValue]]メソッドをECMAScript 5.1のセクション8.6.2に従って実装します。
        定義:
        インタフェースJSObject内のgetDefaultValue
        パラメータ:
        hint - タイプのヒント。 nullNumber.classString.classのいずれかです。
        戻り値:
        このオブジェクトのデフォルト値。