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

Print this page




 431         final boolean globalChanged = (oldGlobal != global);
 432         inGlobal(new Callable<Object>() {
 433             @Override public Object call() {
 434                 for (final Map.Entry<? extends String, ? extends Object> entry : map.entrySet()) {
 435                     final Object value = entry.getValue();
 436                     final Object modValue = globalChanged? wrap(value, oldGlobal) : value;
 437                     final String key = entry.getKey();
 438                     checkKey(key);
 439                     sobj.set(key, unwrap(modValue, global), getCallSiteFlags());
 440                 }
 441                 return null;
 442             }
 443         });
 444     }
 445 
 446     @Override
 447     public Object remove(final Object key) {
 448         checkKey(key);
 449         return inGlobal(new Callable<Object>() {
 450             @Override public Object call() {
 451                 return wrap(sobj.remove(key, strict), global);
 452             }
 453         });
 454     }
 455 
 456     /**
 457      * Delete a property from this object.
 458      *
 459      * @param key the property to be deleted
 460      *
 461      * @return if the delete was successful or not
 462      */
 463     public boolean delete(final Object key) {
 464         return inGlobal(new Callable<Boolean>() {
 465             @Override public Boolean call() {
 466                 return sobj.delete(unwrap(key, global), strict);
 467             }
 468         });
 469     }
 470 
 471     @Override




 431         final boolean globalChanged = (oldGlobal != global);
 432         inGlobal(new Callable<Object>() {
 433             @Override public Object call() {
 434                 for (final Map.Entry<? extends String, ? extends Object> entry : map.entrySet()) {
 435                     final Object value = entry.getValue();
 436                     final Object modValue = globalChanged? wrap(value, oldGlobal) : value;
 437                     final String key = entry.getKey();
 438                     checkKey(key);
 439                     sobj.set(key, unwrap(modValue, global), getCallSiteFlags());
 440                 }
 441                 return null;
 442             }
 443         });
 444     }
 445 
 446     @Override
 447     public Object remove(final Object key) {
 448         checkKey(key);
 449         return inGlobal(new Callable<Object>() {
 450             @Override public Object call() {
 451                 return translateUndefined(wrap(sobj.remove(key, strict), global));
 452             }
 453         });
 454     }
 455 
 456     /**
 457      * Delete a property from this object.
 458      *
 459      * @param key the property to be deleted
 460      *
 461      * @return if the delete was successful or not
 462      */
 463     public boolean delete(final Object key) {
 464         return inGlobal(new Callable<Boolean>() {
 465             @Override public Boolean call() {
 466                 return sobj.delete(unwrap(key, global), strict);
 467             }
 468         });
 469     }
 470 
 471     @Override