Class ScriptObjectMirror

java.lang.Object
jdk.nashorn.api.scripting.AbstractJSObject
jdk.nashorn.api.scripting.ScriptObjectMirror
All Implemented Interfaces:
Map<String,​Object>, Bindings, JSObject

@Deprecated(since="11",
            forRemoval=true)
public final class ScriptObjectMirror
extends AbstractJSObject
implements Bindings
Deprecated, for removal: This API element is subject to removal in a future version.
Nashorn JavaScript script engine and APIs, and the jjs tool are deprecated with the intent to remove them in a future release.
Mirror object that wraps a given Nashorn Script object.
Since:
1.8u40
  • Method Details

    • callMember

      public Object callMember​(String functionName, Object... args)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Call member function
      Parameters:
      functionName - function name
      args - arguments
      Returns:
      return value of function
    • setIndexedPropertiesToExternalArrayData

      public void setIndexedPropertiesToExternalArrayData​(ByteBuffer buf)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Nashorn extension: setIndexedPropertiesToExternalArrayData. set indexed properties be exposed from a given nio ByteBuffer.
      Parameters:
      buf - external buffer - should be a nio ByteBuffer
    • delete

      public boolean delete​(Object key)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Delete a property from this object.
      Parameters:
      key - the property to be deleted
      Returns:
      if the delete was successful or not
    • getProto

      public Object getProto()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Return the __proto__ of this object.
      Returns:
      __proto__ object.
    • setProto

      public void setProto​(Object proto)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Set the __proto__ of this object.
      Parameters:
      proto - new proto for this object
    • getOwnPropertyDescriptor

      public Object getOwnPropertyDescriptor​(String key)
      Deprecated, for removal: This API element is subject to removal in a future version.
      ECMA 8.12.1 [[GetOwnProperty]] (P)
      Parameters:
      key - property key
      Returns:
      Returns the Property Descriptor of the named own property of this object, or undefined if absent.
    • getOwnKeys

      public String[] getOwnKeys​(boolean all)
      Deprecated, for removal: This API element is subject to removal in a future version.
      return an array of own property keys associated with the object.
      Parameters:
      all - True if to include non-enumerable keys.
      Returns:
      Array of keys.
    • preventExtensions

      public ScriptObjectMirror preventExtensions()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Flag this script object as non extensible
      Returns:
      the object after being made non extensible
    • isExtensible

      public boolean isExtensible()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Check if this script object is extensible
      Returns:
      true if extensible
    • seal

      public ScriptObjectMirror seal()
      Deprecated, for removal: This API element is subject to removal in a future version.
      ECMAScript 15.2.3.8 - seal implementation
      Returns:
      the sealed script object
    • isSealed

      public boolean isSealed()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Check whether this script object is sealed
      Returns:
      true if sealed
    • freeze

      public ScriptObjectMirror freeze()
      Deprecated, for removal: This API element is subject to removal in a future version.
      ECMA 15.2.39 - freeze implementation. Freeze this script object
      Returns:
      the frozen script object
    • isFrozen

      public boolean isFrozen()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Check whether this script object is frozen
      Returns:
      true if frozen
    • isUndefined

      public static boolean isUndefined​(Object obj)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Utility to check if given object is ECMAScript undefined value
      Parameters:
      obj - object to check
      Returns:
      true if 'obj' is ECMAScript undefined value
    • to

      public <T> T to​(Class<T> type)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Utility to convert this script object to the given type.
      Type Parameters:
      T - destination type to convert to
      Parameters:
      type - destination type to convert to
      Returns:
      converted object
    • wrap

      public static Object wrap​(Object obj, Object homeGlobal)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Make a script object mirror on given object if needed.
      Parameters:
      obj - object to be wrapped/converted
      homeGlobal - global to which this object belongs.
      Returns:
      wrapped/converted object
    • wrapAsJSONCompatible

      public static Object wrapAsJSONCompatible​(Object obj, Object homeGlobal)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Make a script object mirror on given object if needed. The created wrapper will implement the Java List interface if obj is a JavaScript Array object; this is compatible with Java JSON libraries expectations. Arrays retrieved through its properties (transitively) will also implement the list interface.
      Parameters:
      obj - object to be wrapped/converted
      homeGlobal - global to which this object belongs.
      Returns:
      wrapped/converted object
    • unwrap

      public static Object unwrap​(Object obj, Object homeGlobal)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Unwrap a script object mirror if needed.
      Parameters:
      obj - object to be unwrapped
      homeGlobal - global to which this object belongs
      Returns:
      unwrapped object
    • wrapArray

      public static Object[] wrapArray​(Object[] args, Object homeGlobal)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Wrap an array of object to script object mirrors if needed.
      Parameters:
      args - array to be unwrapped
      homeGlobal - global to which this object belongs
      Returns:
      wrapped array
    • unwrapArray

      public static Object[] unwrapArray​(Object[] args, Object homeGlobal)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Unwrap an array of script object mirrors if needed.
      Parameters:
      args - array to be unwrapped
      homeGlobal - global to which this object belongs
      Returns:
      unwrapped array
    • identical

      public static boolean identical​(Object obj1, Object obj2)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Are the given objects mirrors to same underlying object?
      Parameters:
      obj1 - first object
      obj2 - second object
      Returns:
      true if obj1 and obj2 are identical script objects or mirrors of it.
    • toNumber

      @Deprecated public double toNumber()
      Deprecated.
      Description copied from class: AbstractJSObject
      Returns this object's numeric value.
      Specified by:
      toNumber in interface JSObject
      Overrides:
      toNumber in class AbstractJSObject
      Returns:
      this object's numeric value.