src/jdk/nashorn/api/scripting/ScriptObjectMirror.java

changeset 763
34e8f522b7ba
parent 748
a4a1d38f0294
child 771
5ab19753ce4a
     1.1 --- a/src/jdk/nashorn/api/scripting/ScriptObjectMirror.java	Thu Feb 06 17:44:37 2014 +0530
     1.2 +++ b/src/jdk/nashorn/api/scripting/ScriptObjectMirror.java	Fri Feb 14 19:02:02 2014 +0530
     1.3 @@ -25,6 +25,7 @@
     1.4  
     1.5  package jdk.nashorn.api.scripting;
     1.6  
     1.7 +import java.nio.ByteBuffer;
     1.8  import java.security.AccessControlContext;
     1.9  import java.security.AccessController;
    1.10  import java.security.Permissions;
    1.11 @@ -41,6 +42,7 @@
    1.12  import java.util.Set;
    1.13  import java.util.concurrent.Callable;
    1.14  import javax.script.Bindings;
    1.15 +import jdk.nashorn.internal.runtime.arrays.ArrayData;
    1.16  import jdk.nashorn.internal.runtime.ConsString;
    1.17  import jdk.nashorn.internal.runtime.Context;
    1.18  import jdk.nashorn.internal.runtime.GlobalObject;
    1.19 @@ -259,6 +261,22 @@
    1.20          });
    1.21      }
    1.22  
    1.23 +    /**
    1.24 +     * Nashorn extension: setIndexedPropertiesToExternalArrayData.
    1.25 +     * set indexed properties be exposed from a given nio ByteBuffer.
    1.26 +     *
    1.27 +     * @param buf external buffer - should be a nio ByteBuffer
    1.28 +     */
    1.29 +    public void setIndexedPropertiesToExternalArrayData(final ByteBuffer buf) {
    1.30 +        inGlobal(new Callable<Void>() {
    1.31 +            @Override public Void call() {
    1.32 +                sobj.setArray(ArrayData.allocate(buf));
    1.33 +                return null;
    1.34 +            }
    1.35 +        });
    1.36 +    }
    1.37 +
    1.38 +
    1.39      @Override
    1.40      public boolean isInstance(final Object obj) {
    1.41          if (! (obj instanceof ScriptObjectMirror)) {

mercurial