org.mozilla.javascript
Class NativeJavaPackage

java.lang.Object
  extended by org.mozilla.javascript.ScriptableObject
      extended by org.mozilla.javascript.NativeJavaPackage
All Implemented Interfaces:
java.io.Serializable, ConstProperties, DebuggableObject, Scriptable
Direct Known Subclasses:
NativeJavaTopPackage

public class NativeJavaPackage
extends ScriptableObject

This class reflects Java packages into the JavaScript environment. We lazily reflect classes and subpackages, and use a caching/sharing system to ensure that members reflected into one JavaPackage appear in all other references to the same package (as with Packages.java.lang and java.lang).

Author:
Mike Shaver
See Also:
NativeJavaArray, NativeJavaObject, NativeJavaClass, Serialized Form

Field Summary
 
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
NativeJavaPackage(java.lang.String packageName)
          Deprecated. NativeJavaPackage is an internal class, do not use it directly.
NativeJavaPackage(java.lang.String packageName, java.lang.ClassLoader classLoader)
          Deprecated. NativeJavaPackage is an internal class, do not use it directly.
 
Method Summary
 boolean equals(java.lang.Object obj)
           
 java.lang.Object get(int index, Scriptable start)
          Returns the value of the indexed property or NOT_FOUND.
 java.lang.Object get(java.lang.String id, Scriptable start)
          Returns the value of the named property or NOT_FOUND.
 java.lang.String getClassName()
          Return the name of the class.
 java.lang.Object getDefaultValue(java.lang.Class<?> ignored)
          Implements the [[DefaultValue]] internal method.
 boolean has(int index, Scriptable start)
          Returns true if the property index is defined.
 boolean has(java.lang.String id, Scriptable start)
          Returns true if the named property is defined.
 int hashCode()
           
 void put(int index, Scriptable start, java.lang.Object value)
          Sets the value of the indexed property, creating it if need be.
 void put(java.lang.String id, Scriptable start, java.lang.Object value)
          Sets the value of the named property, creating it if need be.
 java.lang.String toString()
           
 
Methods inherited from class org.mozilla.javascript.ScriptableObject
applyDescriptorToAttributeBitset, associateValue, avoidObjectDetection, buildDataDescriptor, callMethod, callMethod, checkPropertyChange, checkPropertyDefinition, defineClass, defineClass, defineClass, defineConst, defineConstProperty, defineFunctionProperties, defineOwnProperties, defineOwnProperty, defineOwnProperty, defineProperty, defineProperty, defineProperty, defineProperty, delete, delete, deleteProperty, deleteProperty, ensureScriptable, ensureScriptableObject, equivalentValues, get, getAllIds, getArrayPrototype, getAssociatedValue, getAttributes, getAttributes, getAttributes, getAttributes, getClassPrototype, getDefaultValue, getFunctionPrototype, getGetterOrSetter, getIds, getObjectPrototype, getOwnPropertyDescriptor, getParentScope, getProperty, getProperty, getPropertyIds, getPrototype, getSlot, getTopLevelScope, getTopScopeValue, getTypedProperty, getTypedProperty, getTypeOf, hasInstance, hasProperty, hasProperty, isAccessorDescriptor, isConst, isDataDescriptor, isEmpty, isExtensible, isFalse, isGenericDescriptor, isGetterOrSetter, isSealed, isTrue, preventExtensions, putConst, putConstProperty, putProperty, putProperty, redefineProperty, sameValue, sealObject, setAttributes, setAttributes, setAttributes, setAttributes, setGetterOrSetter, setParentScope, setPrototype, size
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

NativeJavaPackage

public NativeJavaPackage(java.lang.String packageName,
                         java.lang.ClassLoader classLoader)
Deprecated. NativeJavaPackage is an internal class, do not use it directly.


NativeJavaPackage

public NativeJavaPackage(java.lang.String packageName)
Deprecated. NativeJavaPackage is an internal class, do not use it directly.

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 interface Scriptable
Specified by:
getClassName in class ScriptableObject

has

public boolean has(java.lang.String id,
                   Scriptable start)
Description copied from class: ScriptableObject
Returns true if the named property is defined.

Specified by:
has in interface Scriptable
Overrides:
has in class ScriptableObject
Parameters:
id - the name of the property
start - 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)

has

public boolean has(int index,
                   Scriptable start)
Description copied from class: ScriptableObject
Returns true if the property index is defined.

Specified by:
has in interface Scriptable
Overrides:
has in class ScriptableObject
Parameters:
index - the numeric index for the property
start - the object in which the lookup began
Returns:
true if and only if the property was found in the object
See Also:
Scriptable.get(int, Scriptable), ScriptableObject.getProperty(Scriptable, int)

put

public void put(java.lang.String id,
                Scriptable start,
                java.lang.Object value)
Description copied from class: ScriptableObject
Sets the value of the named property, creating it if need be. If the property was created using defineProperty, the appropriate setter method is called.

If the property's attributes include READONLY, no action is taken. This method will actually set the property in the start object.

Specified by:
put in interface Scriptable
Overrides:
put in class ScriptableObject
Parameters:
id - the name of the property
start - the object whose property is being set
value - value to set the property to
See Also:
Scriptable.has(String, Scriptable), Scriptable.get(String, Scriptable), ScriptableObject.putProperty(Scriptable, String, Object), Context.toObject(Object, Scriptable)

put

public void put(int index,
                Scriptable start,
                java.lang.Object value)
Description copied from class: ScriptableObject
Sets the value of the indexed property, creating it if need be.

Specified by:
put in interface Scriptable
Overrides:
put in class ScriptableObject
Parameters:
index - the numeric index for the property
start - the object whose property is being set
value - value to set the property to
See Also:
Scriptable.has(int, Scriptable), Scriptable.get(int, Scriptable), ScriptableObject.putProperty(Scriptable, int, Object), Context.toObject(Object, Scriptable)

get

public java.lang.Object get(java.lang.String id,
                            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 interface Scriptable
Overrides:
get in class ScriptableObject
Parameters:
id - the name of the property
start - the object in which the lookup began
Returns:
the value of the property (may be null), or NOT_FOUND
See Also:
Context.getUndefinedValue()

get

public java.lang.Object get(int index,
                            Scriptable start)
Description copied from class: ScriptableObject
Returns the value of the indexed property or NOT_FOUND.

Specified by:
get in interface Scriptable
Overrides:
get in class ScriptableObject
Parameters:
index - the numeric index for the property
start - the object in which the lookup began
Returns:
the value of the property (may be null), or NOT_FOUND
See Also:
Scriptable.get(String,Scriptable)

getDefaultValue

public java.lang.Object getDefaultValue(java.lang.Class<?> ignored)
Description copied from class: ScriptableObject
Implements the [[DefaultValue]] internal method.

Note that the toPrimitive conversion is a no-op for every type other than Object, for which [[DefaultValue]] is called. See ECMA 9.1.

A hint of null means "no hint".

Specified by:
getDefaultValue in interface Scriptable
Overrides:
getDefaultValue in class ScriptableObject
Parameters:
ignored - the type hint
Returns:
the default value for the object See ECMA 8.6.2.6.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object