textbender.o.rhinohide.core
Class RhiNamedNodeMap

java.lang.Object
  extended by Rhinohide
      extended by RhiNamedNodeMap
All Implemented Interfaces:
NamedNodeMap

@ThreadSafe
final class RhiNamedNodeMap
extends Rhinohide
implements NamedNodeMap

A named node map implemented as an overlay of a JavaScript node map.


Field Summary
 
Fields inherited from class Rhinohide
window
 
Method Summary
 int getLength()
           
 Node getNamedItem(String name)
           
 Node getNamedItemNS(String namespaceURI, String localName)
          Untested.
 Node item(int index)
           
 Node removeNamedItem(String name)
          Buggy on IE.
 Node removeNamedItemNS(String namespaceURI, String localName)
          Untested.
 Node setNamedItem(Node arg)
           
 Node setNamedItemNS(Node arg)
          Untested.
static RhiNamedNodeMap wrapNamedNodeMap(RhiWindow window, netscape.javascript.JSObject jsObject)
          Creates a RhiNamedNodeMap.
 
Methods inherited from class Rhinohide
call, callV, checkV, equals, eval, evalV, getMember, getMemberV, hashCode, jsObject, setMember, toJSObject, toString, window
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

wrapNamedNodeMap

public static RhiNamedNodeMap wrapNamedNodeMap(RhiWindow window,
                                               netscape.javascript.JSObject jsObject)
Creates a RhiNamedNodeMap.

Parameters:
window - global object
jsObject - bridge to underlying JavaScript node map, per jsObject()
Returns:
node map, or null if jsObject is null

getNamedItem

public Node getNamedItem(String name)
Specified by:
getNamedItem in interface NamedNodeMap

setNamedItem

public Node setNamedItem(Node arg)
Specified by:
setNamedItem in interface NamedNodeMap

getNamedItemNS

public Node getNamedItemNS(String namespaceURI,
                           String localName)
Untested.

Specified by:
getNamedItemNS in interface NamedNodeMap

setNamedItemNS

public Node setNamedItemNS(Node arg)
Untested.

Specified by:
setNamedItemNS in interface NamedNodeMap

item

public Node item(int index)
Specified by:
item in interface NamedNodeMap

getLength

public int getLength()
Specified by:
getLength in interface NamedNodeMap

removeNamedItem

public Node removeNamedItem(String name)
Buggy on IE.

BUG: null-item

http://zelea.com/var/cache/textbender-javadoc/textbender/o/rhinohide/core/RhiNamedNodeMap.html#null-item

Attribute items are not actually removed, but remain in the map as null values. (Actually IE sets the values of the removed attribute item to an empty string, which is incorrect. We correct it to null, in RhiAttr.wrapAttr, but we don't correct the resulting misbehaviour of the node map.)

Specified by:
removeNamedItem in interface NamedNodeMap

removeNamedItemNS

public Node removeNamedItemNS(String namespaceURI,
                              String localName)
Untested.

Specified by:
removeNamedItemNS in interface NamedNodeMap