Hi,
Trying to create a scope from withing JavaScript with Rhino 1.6RC7
(not possible to use newer version unfortunatly). Got the following
code:
function createScope()
{
var cx = Packages.org.mozilla.javascript.Context.enter();
try {
var scope = cx.initStandardObjects();
/*
* Add providers
*/
for (i in allproviders) {
scope.__defineGetter__(allproviders[i],
function(){return
set["xxx"];});
scope.__defineSetter__(allproviders[i],
function(){set["xxx"] =
arguments[0];});
}
}
catch (e) {
}
finally {
cx.exit();
}
}
I tried calling defineProperty directly on the scope variable, but
inside JavaScript the Scope object doesn't seem to support it's Java
functions like .defineProperty etc.
So, then I did things through defining getters and setters on the
scope. The only issue is that when executing scripts within that
scope, they can alter/override the getters and setters, which I want
to disallow.
So, the questions are:
- Why can't I use all the Java functions of ScriptableObject on the
scope variable?
- Is it possible to make the getters/setters "final" somehow?
Tnx,
K.
_______________________________________________
dev-tech-js-engine-rhino mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine-rhino