public class ImporterTopLevel extends TopLevel
This class defines a ScriptableObject that can be instantiated as a top-level ("global") object to provide functionality similar to Java's "import" statement.
This class can be used to create a top-level scope using the following code:
Scriptable scope = new ImporterTopLevel(cx);Then JavaScript code will have access to the following methods:
js> importClass(java.io.File) js> f = new File('help.txt') help.txt js> importPackage(java.util) js> v = new Vector() []
TopLevel.Builtins
ScriptableObject.KeyComparator
CONST, DONTENUM, EMPTY, PERMANENT, READONLY, UNINITIALIZED_CONST
NOT_FOUND
Constructor and Description |
---|
ImporterTopLevel() |
ImporterTopLevel(Context cx) |
ImporterTopLevel(Context cx,
boolean sealed) |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
execIdCall(IdFunctionObject f,
Context cx,
Scriptable scope,
Scriptable thisObj,
java.lang.Object[] args)
'thisObj' will be null if invoked as constructor, in which case * instance of Scriptable
should be returned.
|
protected int |
findPrototypeId(java.lang.String s) |
java.lang.Object |
get(java.lang.String name,
Scriptable start)
Returns the value of the named property or NOT_FOUND.
|
java.lang.String |
getClassName()
Return the name of the class.
|
boolean |
has(java.lang.String name,
Scriptable start)
Returns true if the named property is defined.
|
void |
importPackage(Context cx,
Scriptable thisObj,
java.lang.Object[] args,
Function funObj)
Deprecated.
Kept only for compatibility.
|
static void |
init(Context cx,
Scriptable scope,
boolean sealed) |
protected void |
initPrototypeId(int id) |
void |
initStandardObjects(Context cx,
boolean sealed) |
cacheBuiltins, getBuiltinCtor, getBuiltinCtor, getBuiltinPrototype, getBuiltinPrototype
activatePrototypeMap, addIdFunctionProperty, defaultGet, defaultHas, defaultPut, defineOwnProperty, delete, delete, ensureType, exportAsJSClass, fillConstructorProperties, findInstanceIdInfo, findInstanceIdInfo, findPrototypeId, get, getAttributes, getAttributes, getInstanceIdName, getInstanceIdValue, getMaxInstanceId, getOwnPropertyDescriptor, has, hasPrototypeMap, initPrototypeConstructor, initPrototypeMethod, initPrototypeMethod, initPrototypeMethod, initPrototypeValue, initPrototypeValue, instanceIdInfo, put, put, setAttributes, setInstanceIdAttributes, setInstanceIdValue
applyDescriptorToAttributeBitset, associateValue, avoidObjectDetection, buildDataDescriptor, callMethod, callMethod, checkPropertyChange, checkPropertyDefinition, defineClass, defineClass, defineClass, defineConst, defineConstProperty, defineFunctionProperties, defineOwnProperties, defineOwnProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, delete, deleteProperty, deleteProperty, ensureScriptable, ensureScriptableObject, ensureSymbolScriptable, equivalentValues, get, get, getAllIds, getArrayPrototype, getAssociatedValue, getAttributes, getAttributes, getAttributes, getClassPrototype, getDefaultValue, getDefaultValue, getExternalArrayData, getExternalArrayLength, getFunctionPrototype, getGeneratorFunctionPrototype, getGetterOrSetter, getGetterOrSetter, getIds, getObjectPrototype, getParentScope, getProperty, getProperty, getProperty, getPropertyIds, getPrototype, getTopLevelScope, getTopScopeValue, getTypedProperty, getTypedProperty, getTypeOf, has, hasInstance, hasProperty, hasProperty, hasProperty, isAccessorDescriptor, isConst, isDataDescriptor, isEmpty, isExtensible, isFalse, isGenericDescriptor, isGetterOrSetter, isSealed, isTrue, preventExtensions, put, putConst, putConstProperty, putProperty, putProperty, putProperty, querySlot, redefineProperty, sameValue, sealObject, setAttributes, setAttributes, setAttributes, setAttributes, setCommonDescriptorProperties, setExternalArrayData, setGetterOrSetter, setParentScope, setPrototype, size
public ImporterTopLevel()
public ImporterTopLevel(Context cx)
public ImporterTopLevel(Context cx, boolean sealed)
public java.lang.String getClassName()
ScriptableObject
This is typically the same name as the constructor. Classes extending ScriptableObject must implement this abstract method.
getClassName
in interface Scriptable
getClassName
in class TopLevel
public static void init(Context cx, Scriptable scope, boolean sealed)
public void initStandardObjects(Context cx, boolean sealed)
public boolean has(java.lang.String name, Scriptable start)
ScriptableObject
has
in interface Scriptable
has
in class IdScriptableObject
name
- the name of the propertystart
- the object in which the lookup beganScriptable.get(String, Scriptable)
,
ScriptableObject.getProperty(Scriptable, String)
public java.lang.Object get(java.lang.String name, Scriptable start)
ScriptableObject
If the property was created using defineProperty, the appropriate getter method is called.
get
in interface Scriptable
get
in class IdScriptableObject
name
- the name of the propertystart
- the object in which the lookup beganContext.getUndefinedValue()
@Deprecated public void importPackage(Context cx, Scriptable thisObj, java.lang.Object[] args, Function funObj)
protected void initPrototypeId(int id)
initPrototypeId
in class IdScriptableObject
public java.lang.Object execIdCall(IdFunctionObject f, Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
IdScriptableObject
execIdCall
in interface IdFunctionCall
execIdCall
in class IdScriptableObject
protected int findPrototypeId(java.lang.String s)
findPrototypeId
in class IdScriptableObject