* Reintroduce defineLibraryScope() because it is still used in various places,
but deprecate and drop second argument (boolean initStandardObjects).
This commit is contained in:
parent
7c8404d57d
commit
dd4beb2490
1 changed files with 24 additions and 1 deletions
|
@ -73,7 +73,7 @@ public class GlobalObject extends ImporterTopLevel implements PropertyRecorder {
|
||||||
"encodeXml", "encodeForm", "stripTags", "formatParagraphs",
|
"encodeXml", "encodeForm", "stripTags", "formatParagraphs",
|
||||||
"getXmlDocument", "getHtmlDocument", "seal",
|
"getXmlDocument", "getHtmlDocument", "seal",
|
||||||
"getDBConnection", "getURL", "write", "writeln",
|
"getDBConnection", "getURL", "write", "writeln",
|
||||||
"serialize", "deserialize",
|
"serialize", "deserialize", "defineLibraryScope",
|
||||||
"wrapJavaMap", "unwrapJavaMap", "toJava"
|
"wrapJavaMap", "unwrapJavaMap", "toJava"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -367,6 +367,29 @@ public class GlobalObject extends ImporterTopLevel implements PropertyRecorder {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a libary namespace in the global scope.
|
||||||
|
*
|
||||||
|
* @param name the name of the libary namespace
|
||||||
|
* @deprecated should be implemented in JavaScript instead
|
||||||
|
*/
|
||||||
|
public void defineLibraryScope(final String name) {
|
||||||
|
Object obj = get(name, this);
|
||||||
|
if (obj != NOT_FOUND) {
|
||||||
|
// put the property again to fool PropertyRecorder
|
||||||
|
// into believing it has been renewed
|
||||||
|
put(name, this, obj);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ScriptableObject scope = new NativeObject() {
|
||||||
|
public String getClassName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
scope.setPrototype(ScriptableObject.getObjectPrototype(this));
|
||||||
|
put(name, this, scope);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Wrap a java.util.Map so that it looks and behaves like a native JS object
|
* Wrap a java.util.Map so that it looks and behaves like a native JS object
|
||||||
* @param obj a map
|
* @param obj a map
|
||||||
|
|
Loading…
Add table
Reference in a new issue