Package org.mozilla.javascript
Class ImporterTopLevel
- java.lang.Object
-
- org.mozilla.javascript.ScriptableObject
-
- org.mozilla.javascript.IdScriptableObject
-
- org.mozilla.javascript.TopLevel
-
- org.mozilla.javascript.ImporterTopLevel
-
- All Implemented Interfaces:
java.io.Serializable
,ConstProperties
,DebuggableObject
,IdFunctionCall
,Scriptable
,SymbolScriptable
- Direct Known Subclasses:
Global
public class ImporterTopLevel extends TopLevel
Class ImporterTopLevelThis 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:- importClass - will "import" a class by making its unqualified name available as a property of the top-level scope
- importPackage - will "import" all the classes of the package by searching for unqualified names as classes qualified by the given package.
js> importClass(java.io.File) js> f = new File('help.txt') help.txt js> importPackage(java.util) js> v = new Vector() []
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.mozilla.javascript.TopLevel
TopLevel.Builtins, TopLevel.NativeErrors
-
Nested classes/interfaces inherited from class org.mozilla.javascript.ScriptableObject
ScriptableObject.KeyComparator
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
AKEY
private static int
Id_constructor
private static int
Id_importClass
private static int
Id_importPackage
private static java.lang.Object
IMPORTER_TAG
private static int
MAX_PROTOTYPE_ID
private static long
serialVersionUID
private boolean
topScopeFlag
-
Fields inherited from class org.mozilla.javascript.ScriptableObject
CONST, DONTENUM, EMPTY, PERMANENT, READONLY, UNINITIALIZED_CONST
-
Fields inherited from interface org.mozilla.javascript.Scriptable
NOT_FOUND
-
-
Constructor Summary
Constructors Constructor Description ImporterTopLevel()
ImporterTopLevel(Context cx)
ImporterTopLevel(Context cx, boolean sealed)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method 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.private static java.lang.Object[]
getNativeJavaPackages(Scriptable scope)
private java.lang.Object
getPackageProperty(java.lang.String name, Scriptable start)
boolean
has(java.lang.String name, Scriptable start)
Returns true if the named property is defined.private static void
importClass(Scriptable scope, NativeJavaClass cl)
void
importPackage(Context cx, Scriptable thisObj, java.lang.Object[] args, Function funObj)
Deprecated.Kept only for compatibility.private static void
importPackage(ScriptableObject scope, NativeJavaPackage pkg)
static void
init(Context cx, Scriptable scope, boolean sealed)
protected void
initPrototypeId(int id)
void
initStandardObjects(Context cx, boolean sealed)
private java.lang.Object
js_construct(Scriptable scope, java.lang.Object[] args)
private static java.lang.Object
js_importClass(Scriptable scope, java.lang.Object[] args)
private static java.lang.Object
js_importPackage(ScriptableObject scope, java.lang.Object[] args)
private ScriptableObject
realScope(Scriptable scope, Scriptable thisObj, IdFunctionObject f)
-
Methods inherited from class org.mozilla.javascript.TopLevel
cacheBuiltins, clearCache, getBuiltinCtor, getBuiltinCtor, getBuiltinPrototype, getBuiltinPrototype, getNativeErrorCtor, getNativeErrorCtor
-
Methods inherited from class org.mozilla.javascript.IdScriptableObject
activatePrototypeMap, addIdFunctionProperty, defaultGet, defaultHas, defaultPut, defineOwnProperty, delete, delete, ensureType, exportAsJSClass, fillConstructorProperties, findInstanceIdInfo, findInstanceIdInfo, findPrototypeId, get, getAttributes, getAttributes, getIds, getInstanceIdName, getInstanceIdValue, getMaxInstanceId, getOwnPropertyDescriptor, has, hasPrototypeMap, initPrototypeConstructor, initPrototypeMethod, initPrototypeMethod, initPrototypeMethod, initPrototypeValue, initPrototypeValue, instanceIdInfo, put, put, setAttributes, setInstanceIdAttributes, setInstanceIdValue
-
Methods inherited from class org.mozilla.javascript.ScriptableObject
addLazilyInitializedValue, applyDescriptorToAttributeBitset, associateValue, avoidObjectDetection, buildClassCtor, buildDataDescriptor, callMethod, callMethod, checkPropertyChange, checkPropertyDefinition, checkValidAttributes, 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
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
IMPORTER_TAG
private static final java.lang.Object IMPORTER_TAG
-
Id_constructor
private static final int Id_constructor
- See Also:
- Constant Field Values
-
Id_importClass
private static final int Id_importClass
- See Also:
- Constant Field Values
-
Id_importPackage
private static final int Id_importPackage
- See Also:
- Constant Field Values
-
MAX_PROTOTYPE_ID
private static final int MAX_PROTOTYPE_ID
- See Also:
- Constant Field Values
-
AKEY
private static final java.lang.String AKEY
- See Also:
- Constant Field Values
-
topScopeFlag
private boolean topScopeFlag
-
-
Method Detail
-
getClassName
public java.lang.String getClassName()
Description copied from class:ScriptableObject
Return the name of the class.This is typically the same name as the constructor. Classes extending ScriptableObject must implement this abstract method.
- Specified by:
getClassName
in interfaceScriptable
- Overrides:
getClassName
in classTopLevel
-
init
public static void init(Context cx, Scriptable scope, boolean sealed)
-
initStandardObjects
public void initStandardObjects(Context cx, boolean sealed)
-
has
public boolean has(java.lang.String name, Scriptable start)
Description copied from class:ScriptableObject
Returns true if the named property is defined.- Specified by:
has
in interfaceScriptable
- Overrides:
has
in classIdScriptableObject
- Parameters:
name
- the name of the propertystart
- the object in which the lookup began- Returns:
- true if and only if the property was found in the object
- See Also:
Scriptable.get(String, Scriptable)
,ScriptableObject.getProperty(Scriptable, String)
-
get
public java.lang.Object get(java.lang.String name, Scriptable start)
Description copied from class:ScriptableObject
Returns the value of the named property or NOT_FOUND.If the property was created using defineProperty, the appropriate getter method is called.
- Specified by:
get
in interfaceScriptable
- Overrides:
get
in classIdScriptableObject
- Parameters:
name
- the name of the propertystart
- the object in which the lookup began- Returns:
- the value of the property (may be null), or NOT_FOUND
- See Also:
Context.getUndefinedValue()
-
getPackageProperty
private java.lang.Object getPackageProperty(java.lang.String name, Scriptable start)
-
getNativeJavaPackages
private static java.lang.Object[] getNativeJavaPackages(Scriptable scope)
-
importPackage
@Deprecated public void importPackage(Context cx, Scriptable thisObj, java.lang.Object[] args, Function funObj)
Deprecated.Kept only for compatibility.
-
js_construct
private java.lang.Object js_construct(Scriptable scope, java.lang.Object[] args)
-
js_importClass
private static java.lang.Object js_importClass(Scriptable scope, java.lang.Object[] args)
-
js_importPackage
private static java.lang.Object js_importPackage(ScriptableObject scope, java.lang.Object[] args)
-
importPackage
private static void importPackage(ScriptableObject scope, NativeJavaPackage pkg)
-
importClass
private static void importClass(Scriptable scope, NativeJavaClass cl)
-
initPrototypeId
protected void initPrototypeId(int id)
- Overrides:
initPrototypeId
in classIdScriptableObject
-
execIdCall
public java.lang.Object execIdCall(IdFunctionObject f, Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
Description copied from class:IdScriptableObject
'thisObj' will be null if invoked as constructor, in which case * instance of Scriptable should be returned.- Specified by:
execIdCall
in interfaceIdFunctionCall
- Overrides:
execIdCall
in classIdScriptableObject
-
realScope
private ScriptableObject realScope(Scriptable scope, Scriptable thisObj, IdFunctionObject f)
-
findPrototypeId
protected int findPrototypeId(java.lang.String s)
- Overrides:
findPrototypeId
in classIdScriptableObject
-
-