Class NamedNodeMap

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, org.htmlunit.corejs.javascript.ConstProperties, org.htmlunit.corejs.javascript.debug.DebuggableObject, org.htmlunit.corejs.javascript.Scriptable, org.htmlunit.corejs.javascript.SymbolScriptable

    public class NamedNodeMap
    extends HtmlUnitScriptable
    A collection of nodes that can be accessed by name. String comparisons in this class are case-insensitive when used with an HtmlElement, but case-sensitive when used with a DomElement.
    See Also:
    DOM Level 2 Core Spec, IXMLDOMNamedNodeMap, Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.htmlunit.corejs.javascript.ScriptableObject

        org.htmlunit.corejs.javascript.ScriptableObject.KeyComparator
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private org.w3c.dom.NamedNodeMap attributes_  
      • Fields inherited from class org.htmlunit.corejs.javascript.ScriptableObject

        CONST, DONTENUM, EMPTY, PERMANENT, READONLY, UNINITIALIZED_CONST
      • Fields inherited from interface org.htmlunit.corejs.javascript.Scriptable

        NOT_FOUND
    • Constructor Summary

      Constructors 
      Constructor Description
      NamedNodeMap()
      We need default constructors to build the prototype instance.
      NamedNodeMap​(DomElement element)
      Creates a new named node map for the specified element.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Object get​(int index, org.htmlunit.corejs.javascript.Scriptable start)
      Returns the element at the specified index, or Scriptable.NOT_FOUND if the index is invalid.
      java.lang.Object get​(java.lang.String name, org.htmlunit.corejs.javascript.Scriptable start)
      Gets a named property from the object.
      int getLength()
      Returns the number of attributes in this named node map.
      HtmlUnitScriptable getNamedItem​(java.lang.String name)
      Gets the specified attribute.
      Node getNamedItemNS​(java.lang.String namespaceURI, java.lang.String localName)
      Gets the specified attribute.
      HtmlUnitScriptable getNamedItemWithoutSytheticClassAttr​(java.lang.String name)
      INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
      Gets the specified attribute but does not handle the synthetic class attribute for IE.
      boolean has​(int index, org.htmlunit.corejs.javascript.Scriptable start)
      HtmlUnitScriptable item​(int index)
      Returns the item at the specified index.
      org.htmlunit.corejs.javascript.Scriptable iterator()  
      void jsConstructor()
      JavaScript constructor.
      void removeNamedItem​(java.lang.String name)
      Removes the specified attribute.
      Attr removeNamedItemNS​(java.lang.String namespaceURI, java.lang.String localName)
      Removes the specified attribute.
      void setNamedItem​(Node node)
      Sets the specified attribute.
      void setNamedItemNS​(Node node)
      Sets the specified attribute.
      • Methods inherited from class org.htmlunit.corejs.javascript.ScriptableObject

        applyDescriptorToAttributeBitset, associateValue, avoidObjectDetection, buildDataDescriptor, callMethod, callMethod, checkPropertyChange, checkPropertyDefinition, defineClass, defineClass, defineClass, defineConst, defineConstProperty, defineFunctionProperties, defineOwnProperties, defineOwnProperty, defineOwnProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, delete, delete, delete, deleteProperty, deleteProperty, deleteProperty, ensureScriptable, ensureScriptableObject, ensureSymbolScriptable, get, get, getAllIds, getArrayPrototype, getAssociatedValue, getAttributes, getAttributes, getAttributes, getAttributes, getAttributes, getClassPrototype, getDefaultValue, getExternalArrayData, getExternalArrayLength, getFunctionPrototype, getGeneratorFunctionPrototype, getGetterOrSetter, getGetterOrSetter, getIds, getObjectPrototype, getOwnPropertyDescriptor, getParentScope, getProperty, getProperty, getProperty, getPropertyIds, getPrototype, getTopLevelScope, getTopScopeValue, getTypedProperty, getTypedProperty, getTypeOf, has, has, hasProperty, hasProperty, hasProperty, isAccessorDescriptor, isConst, isDataDescriptor, isEmpty, isExtensible, isFalse, isGenericDescriptor, isGetterOrSetter, isSealed, isTrue, preventExtensions, put, put, putConst, putConstProperty, putProperty, putProperty, putProperty, querySlot, redefineProperty, sameValue, sealObject, setAttributes, setAttributes, setAttributes, setAttributes, setAttributes, setCommonDescriptorProperties, setExternalArrayData, setGetterOrSetter, setPrototype, size
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • attributes_

        private final org.w3c.dom.NamedNodeMap attributes_
    • Constructor Detail

      • NamedNodeMap

        public NamedNodeMap()
        We need default constructors to build the prototype instance.
      • NamedNodeMap

        public NamedNodeMap​(DomElement element)
        Creates a new named node map for the specified element.
        Parameters:
        element - the owning element
    • Method Detail

      • jsConstructor

        public void jsConstructor()
        JavaScript constructor.
      • get

        public final java.lang.Object get​(int index,
                                          org.htmlunit.corejs.javascript.Scriptable start)
        Returns the element at the specified index, or Scriptable.NOT_FOUND if the index is invalid.

        Specified by:
        get in interface org.htmlunit.corejs.javascript.Scriptable
        Overrides:
        get in class org.htmlunit.corejs.javascript.ScriptableObject
      • get

        public java.lang.Object get​(java.lang.String name,
                                    org.htmlunit.corejs.javascript.Scriptable start)
        Gets a named property from the object. Normally HtmlUnit objects don't need to overwrite this method as properties are defined on the prototypes from the XML configuration. In some cases where "content" of object has priority compared to the properties consider using utility HtmlUnitScriptable.getWithPreemption(String).
        Specified by:
        get in interface org.htmlunit.corejs.javascript.Scriptable
        Overrides:
        get in class HtmlUnitScriptable
      • getNamedItemWithoutSytheticClassAttr

        public HtmlUnitScriptable getNamedItemWithoutSytheticClassAttr​(java.lang.String name)
        INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
        Gets the specified attribute but does not handle the synthetic class attribute for IE.
        Parameters:
        name - attribute name
        Returns:
        the attribute node, null if the attribute is not defined
        See Also:
        getNamedItem(String)
      • getNamedItem

        public HtmlUnitScriptable getNamedItem​(java.lang.String name)
        Gets the specified attribute.
        Parameters:
        name - attribute name
        Returns:
        the attribute node, null if the attribute is not defined
      • getNamedItemNS

        public Node getNamedItemNS​(java.lang.String namespaceURI,
                                   java.lang.String localName)
        Gets the specified attribute.
        Parameters:
        namespaceURI - the namespace URI of the node to retrieve.
        localName - the local name of the node to retrieve.
        Returns:
        the attribute node, null if the attribute is not defined
      • setNamedItem

        public void setNamedItem​(Node node)
        Sets the specified attribute.
        Parameters:
        node - the attribute
      • setNamedItemNS

        public void setNamedItemNS​(Node node)
        Sets the specified attribute.
        Parameters:
        node - the attribute
      • removeNamedItem

        public void removeNamedItem​(java.lang.String name)
        Removes the specified attribute.
        Parameters:
        name - the name of the item to remove
      • removeNamedItemNS

        public Attr removeNamedItemNS​(java.lang.String namespaceURI,
                                      java.lang.String localName)
        Removes the specified attribute.
        Parameters:
        namespaceURI - the namespace URI of the node to retrieve.
        localName - the local name of the node to retrieve.
        Returns:
        the attribute node, null if the attribute is not defined
      • item

        public HtmlUnitScriptable item​(int index)
        Returns the item at the specified index.
        Parameters:
        index - the index
        Returns:
        the item at the specified index
      • getLength

        public int getLength()
        Returns the number of attributes in this named node map.
        Returns:
        the number of attributes in this named node map
      • has

        public boolean has​(int index,
                           org.htmlunit.corejs.javascript.Scriptable start)
        Specified by:
        has in interface org.htmlunit.corejs.javascript.Scriptable
        Overrides:
        has in class HtmlUnitScriptable
      • iterator

        public org.htmlunit.corejs.javascript.Scriptable iterator()