org.mozilla.javascript.xml
Class XMLObject

java.lang.Object
  extended by org.mozilla.javascript.ScriptableObject
      extended by org.mozilla.javascript.IdScriptableObject
          extended by org.mozilla.javascript.xml.XMLObject
All Implemented Interfaces:
java.io.Serializable, ConstProperties, DebuggableObject, IdFunctionCall, Scriptable

public abstract class XMLObject
extends IdScriptableObject

This Interface describes what all XML objects (XML, XMLList) should have in common.

See Also:
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
XMLObject()
           
XMLObject(Scriptable scope, Scriptable prototype)
           
 
Method Summary
 java.lang.Object addValues(Context cx, boolean thisIsLeft, java.lang.Object value)
          Custom + operator.
abstract  boolean ecmaDelete(Context cx, java.lang.Object id)
          Implementation of ECMAScript [[Delete]].
abstract  java.lang.Object ecmaGet(Context cx, java.lang.Object id)
          Implementation of ECMAScript [[Get]].
abstract  boolean ecmaHas(Context cx, java.lang.Object id)
          Implementation of ECMAScript [[Has]].
abstract  void ecmaPut(Context cx, java.lang.Object id, java.lang.Object value)
          Implementation of ECMAScript [[Put]].
abstract  NativeWith enterDotQuery(Scriptable scope)
          Wrap this object into NativeWith to implement the .() query.
abstract  NativeWith enterWith(Scriptable scope)
          Wrap this object into NativeWith to implement the with statement.
abstract  Scriptable getExtraMethodSource(Context cx)
          Return an additional object to look for methods that runtime should consider during method search.
abstract  Ref memberRef(Context cx, java.lang.Object elem, int memberTypeFlags)
          Generic reference to implement x.@y, x..y etc.
abstract  Ref memberRef(Context cx, java.lang.Object namespace, java.lang.Object elem, int memberTypeFlags)
          Generic reference to implement x::ns, x.@ns::y, x..@ns::y etc.
 
Methods inherited from class org.mozilla.javascript.IdScriptableObject
activatePrototypeMap, addIdFunctionProperty, defaultGet, defaultPut, delete, execIdCall, exportAsJSClass, fillConstructorProperties, findInstanceIdInfo, findPrototypeId, get, getAttributes, getInstanceIdName, getInstanceIdValue, getMaxInstanceId, has, hasPrototypeMap, incompatibleCallError, initPrototypeConstructor, initPrototypeId, initPrototypeMethod, initPrototypeValue, instanceIdInfo, put, setAttributes, setInstanceIdValue
 
Methods inherited from class org.mozilla.javascript.ScriptableObject
associateValue, avoidObjectDetection, callMethod, callMethod, defineClass, defineClass, defineClass, defineConst, defineConstProperty, defineFunctionProperties, defineProperty, defineProperty, defineProperty, defineProperty, delete, deleteProperty, deleteProperty, equivalentValues, get, getAllIds, getAssociatedValue, getAttributes, getAttributes, getAttributes, getClassName, getClassPrototype, getDefaultValue, getDefaultValue, getFunctionPrototype, getGetterOrSetter, getIds, getObjectPrototype, getParentScope, getProperty, getProperty, getPropertyIds, getPrototype, getTopLevelScope, getTopScopeValue, has, hasInstance, hasProperty, hasProperty, isConst, isGetterOrSetter, isSealed, put, putConst, putConstProperty, putProperty, putProperty, redefineProperty, sealObject, setAttributes, setAttributes, setAttributes, setGetterOrSetter, setParentScope, setPrototype
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XMLObject

public XMLObject()

XMLObject

public XMLObject(Scriptable scope,
                 Scriptable prototype)
Method Detail

ecmaHas

public abstract boolean ecmaHas(Context cx,
                                java.lang.Object id)
Implementation of ECMAScript [[Has]].


ecmaGet

public abstract java.lang.Object ecmaGet(Context cx,
                                         java.lang.Object id)
Implementation of ECMAScript [[Get]].


ecmaPut

public abstract void ecmaPut(Context cx,
                             java.lang.Object id,
                             java.lang.Object value)
Implementation of ECMAScript [[Put]].


ecmaDelete

public abstract boolean ecmaDelete(Context cx,
                                   java.lang.Object id)
Implementation of ECMAScript [[Delete]].


getExtraMethodSource

public abstract Scriptable getExtraMethodSource(Context cx)
Return an additional object to look for methods that runtime should consider during method search. Return null if no such object available.


memberRef

public abstract Ref memberRef(Context cx,
                              java.lang.Object elem,
                              int memberTypeFlags)
Generic reference to implement x.@y, x..y etc.


memberRef

public abstract Ref memberRef(Context cx,
                              java.lang.Object namespace,
                              java.lang.Object elem,
                              int memberTypeFlags)
Generic reference to implement x::ns, x.@ns::y, x..@ns::y etc.


enterWith

public abstract NativeWith enterWith(Scriptable scope)
Wrap this object into NativeWith to implement the with statement.


enterDotQuery

public abstract NativeWith enterDotQuery(Scriptable scope)
Wrap this object into NativeWith to implement the .() query.


addValues

public java.lang.Object addValues(Context cx,
                                  boolean thisIsLeft,
                                  java.lang.Object value)
Custom + operator. Should return Scriptable.NOT_FOUND if this object does not have custom addition operator for the given value, or the result of the addition operation.

The default implementation returns Scriptable.NOT_FOUND to indicate no custom addition operation.

Parameters:
cx - the Context object associated with the current thread.
thisIsLeft - if true, the object should calculate this + value if false, the object should calculate value + this.
value - the second argument for addition operation.