org.lobobrowser.html.domimpl
Class NodeImpl

java.lang.Object
  extended by org.lobobrowser.js.AbstractScriptableDelegate
      extended by org.lobobrowser.html.domimpl.NodeImpl
All Implemented Interfaces:
ModelNode, org.lobobrowser.js.ScriptableDelegate, org.w3c.dom.Node
Direct Known Subclasses:
AttrImpl, CharacterDataImpl, DocumentFragmentImpl, DocumentTypeImpl, ElementImpl, HTMLDocumentImpl, HTMLProcessingInstruction

public abstract class NodeImpl
extends org.lobobrowser.js.AbstractScriptableDelegate
implements org.w3c.dom.Node, ModelNode


Field Summary
protected  org.w3c.dom.Document document
           
protected static java.util.logging.Logger logger
           
protected  java.util.ArrayList nodeList
           
protected  boolean notificationsSuspended
           
protected  org.w3c.dom.Node parentNode
           
protected  java.lang.Object treeLock
          A tree lock is less deadlock-prone than a node-level lock.
protected  UINode uiNode
           
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Constructor Summary
NodeImpl()
           
 
Method Summary
 org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
           
protected  void appendInnerHTMLImpl(java.lang.StringBuffer buffer)
           
protected  void appendInnerTextImpl(java.lang.StringBuffer buffer)
           
 org.w3c.dom.Node cloneNode(boolean deep)
           
 short compareDocumentPosition(org.w3c.dom.Node other)
           
protected  org.lobobrowser.html.style.RenderState createRenderState(org.lobobrowser.html.style.RenderState prevRenderState)
           
protected abstract  org.w3c.dom.Node createSimilarNode()
          Should create a node with some cloned properties, like the node name, but not attributes or children.
 boolean equalAttributes(org.w3c.dom.Node arg)
           
 UINode findUINode()
          Tries to get a UINode associated with the current node.
protected  void forgetRenderState()
           
 float getAlignmentX()
           
 float getAlignmentY()
           
 org.w3c.dom.NamedNodeMap getAttributes()
           
 java.lang.String getBaseURI()
           
 org.w3c.dom.NodeList getChildNodes()
           
 ChildHTMLCollection getChildren()
           
 NodeImpl[] getChildrenArray()
           
 java.util.ArrayList getDescendents(NodeFilter filter, boolean nestIntoMatchingNodes)
          Creates an ArrayList of descendent nodes that the given filter condition.
 java.lang.Object getDocumentItem(java.lang.String name)
           
 java.net.URL getDocumentURL()
           
 java.lang.Object getFeature(java.lang.String feature, java.lang.String version)
           
 org.w3c.dom.Node getFirstChild()
           
 java.net.URL getFullURL(java.lang.String spec)
           
 HtmlRendererContext getHtmlRendererContext()
           
 java.lang.String getInnerHTML()
           
 java.lang.String getInnerText()
          Attempts to convert the subtree starting at this point to a close text representation.
 org.w3c.dom.Node getLastChild()
           
abstract  java.lang.String getLocalName()
           
 java.lang.String getNamespaceURI()
           
 org.w3c.dom.Node getNextSibling()
           
protected  org.w3c.dom.NodeList getNodeList(NodeFilter filter)
           
abstract  java.lang.String getNodeName()
           
abstract  short getNodeType()
           
abstract  java.lang.String getNodeValue()
           
 org.w3c.dom.Document getOwnerDocument()
           
 ModelNode getParentModelNode()
           
 org.w3c.dom.Node getParentNode()
           
protected  org.lobobrowser.html.style.RenderState getParentRenderState(java.lang.Object parent)
           
 java.lang.String getPrefix()
           
 org.w3c.dom.Node getPreviousSibling()
           
 org.lobobrowser.html.style.RenderState getRenderState()
           
 java.lang.String getTextContent()
          Gets the text content of this node and its descendents.
 UINode getUINode()
           
 UserAgentContext getUserAgentContext()
           
 java.lang.Object getUserData(java.lang.String key)
           
 boolean hasAttributes()
           
 boolean hasChildNodes()
           
protected  java.lang.String htmlEncodeChildText(java.lang.String text)
           
 void informDocumentInvalid()
           
protected  void informExternalScriptLoading()
           
 void informInvalid()
           
 void informLayoutInvalid()
           
 void informLookInvalid()
           
protected  void informNodeLoaded()
           
 void informPositionInvalid()
           
 void informSizeInvalid()
           
 void informStructureInvalid()
           
 org.w3c.dom.Node insertAfter(org.w3c.dom.Node newChild, org.w3c.dom.Node refChild)
           
protected  org.w3c.dom.Node insertAt(org.w3c.dom.Node newChild, int idx)
           
 org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild, org.w3c.dom.Node refChild)
           
 boolean isDefaultNamespace(java.lang.String namespaceURI)
           
 boolean isEqualNode(org.w3c.dom.Node arg)
           
 boolean isEqualOrDescendentOf(ModelNode otherContext)
           
 boolean isSameNode(org.w3c.dom.Node other)
           
 boolean isSupported(java.lang.String feature, java.lang.String version)
           
 java.lang.String lookupNamespaceURI(java.lang.String prefix)
           
 java.lang.String lookupPrefix(java.lang.String namespaceURI)
           
 void normalize()
           
protected  void removeAllChildren()
           
protected  void removeAllChildrenImpl()
           
 org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
           
 org.w3c.dom.Node removeChildAt(int index)
           
protected  void removeChildren(NodeFilter filter)
           
protected  void removeChildrenImpl(NodeFilter filter)
           
 org.w3c.dom.Text replaceAdjacentTextNodes(org.w3c.dom.Text node)
           
 org.w3c.dom.Text replaceAdjacentTextNodes(org.w3c.dom.Text node, java.lang.String textContent)
           
 org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild, org.w3c.dom.Node oldChild)
           
 void setDocumentItem(java.lang.String name, java.lang.Object value)
          Sets a document item.
abstract  void setNodeValue(java.lang.String nodeValue)
           
 void setPrefix(java.lang.String prefix)
           
 void setTextContent(java.lang.String textContent)
           
 void setUINode(UINode uiNode)
           
 java.lang.Object setUserData(java.lang.String key, java.lang.Object data, org.w3c.dom.UserDataHandler handler)
           
 java.lang.String toString()
           
 void warn(java.lang.String message)
           
 void warn(java.lang.String message, java.lang.Throwable err)
           
 
Methods inherited from class org.lobobrowser.js.AbstractScriptableDelegate
getScriptable, setScriptable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

logger

protected static final java.util.logging.Logger logger

uiNode

protected UINode uiNode

nodeList

protected java.util.ArrayList nodeList

document

protected volatile org.w3c.dom.Document document

treeLock

protected volatile java.lang.Object treeLock
A tree lock is less deadlock-prone than a node-level lock. This is assigned in setOwnerDocument.


notificationsSuspended

protected volatile boolean notificationsSuspended

parentNode

protected volatile org.w3c.dom.Node parentNode
Constructor Detail

NodeImpl

public NodeImpl()
Method Detail

setUINode

public void setUINode(UINode uiNode)

getUINode

public UINode getUINode()

findUINode

public UINode findUINode()
Tries to get a UINode associated with the current node. Failing that, it tries ancestors recursively. This method will return the closest block-level renderer node, if any.


appendChild

public org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
                             throws org.w3c.dom.DOMException
Specified by:
appendChild in interface org.w3c.dom.Node
Throws:
org.w3c.dom.DOMException

removeAllChildren

protected void removeAllChildren()

removeAllChildrenImpl

protected void removeAllChildrenImpl()

getNodeList

protected org.w3c.dom.NodeList getNodeList(NodeFilter filter)

getChildrenArray

public NodeImpl[] getChildrenArray()

getChildren

public ChildHTMLCollection getChildren()

getDescendents

public java.util.ArrayList getDescendents(NodeFilter filter,
                                          boolean nestIntoMatchingNodes)
Creates an ArrayList of descendent nodes that the given filter condition.


createSimilarNode

protected abstract org.w3c.dom.Node createSimilarNode()
Should create a node with some cloned properties, like the node name, but not attributes or children.


cloneNode

public org.w3c.dom.Node cloneNode(boolean deep)
Specified by:
cloneNode in interface org.w3c.dom.Node

compareDocumentPosition

public short compareDocumentPosition(org.w3c.dom.Node other)
                              throws org.w3c.dom.DOMException
Specified by:
compareDocumentPosition in interface org.w3c.dom.Node
Throws:
org.w3c.dom.DOMException

getAttributes

public org.w3c.dom.NamedNodeMap getAttributes()
Specified by:
getAttributes in interface org.w3c.dom.Node

getOwnerDocument

public org.w3c.dom.Document getOwnerDocument()
Specified by:
getOwnerDocument in interface org.w3c.dom.Node

insertBefore

public org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,
                                     org.w3c.dom.Node refChild)
                              throws org.w3c.dom.DOMException
Specified by:
insertBefore in interface org.w3c.dom.Node
Throws:
org.w3c.dom.DOMException

insertAt

protected org.w3c.dom.Node insertAt(org.w3c.dom.Node newChild,
                                    int idx)
                             throws org.w3c.dom.DOMException
Throws:
org.w3c.dom.DOMException

replaceChild

public org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,
                                     org.w3c.dom.Node oldChild)
                              throws org.w3c.dom.DOMException
Specified by:
replaceChild in interface org.w3c.dom.Node
Throws:
org.w3c.dom.DOMException

removeChild

public org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
                             throws org.w3c.dom.DOMException
Specified by:
removeChild in interface org.w3c.dom.Node
Throws:
org.w3c.dom.DOMException

removeChildAt

public org.w3c.dom.Node removeChildAt(int index)
                               throws org.w3c.dom.DOMException
Throws:
org.w3c.dom.DOMException

hasChildNodes

public boolean hasChildNodes()
Specified by:
hasChildNodes in interface org.w3c.dom.Node

getBaseURI

public java.lang.String getBaseURI()
Specified by:
getBaseURI in interface org.w3c.dom.Node

getChildNodes

public org.w3c.dom.NodeList getChildNodes()
Specified by:
getChildNodes in interface org.w3c.dom.Node

getFirstChild

public org.w3c.dom.Node getFirstChild()
Specified by:
getFirstChild in interface org.w3c.dom.Node

getLastChild

public org.w3c.dom.Node getLastChild()
Specified by:
getLastChild in interface org.w3c.dom.Node

getPreviousSibling

public org.w3c.dom.Node getPreviousSibling()
Specified by:
getPreviousSibling in interface org.w3c.dom.Node

getNextSibling

public org.w3c.dom.Node getNextSibling()
Specified by:
getNextSibling in interface org.w3c.dom.Node

getFeature

public java.lang.Object getFeature(java.lang.String feature,
                                   java.lang.String version)
Specified by:
getFeature in interface org.w3c.dom.Node

setUserData

public java.lang.Object setUserData(java.lang.String key,
                                    java.lang.Object data,
                                    org.w3c.dom.UserDataHandler handler)
Specified by:
setUserData in interface org.w3c.dom.Node

getUserData

public java.lang.Object getUserData(java.lang.String key)
Specified by:
getUserData in interface org.w3c.dom.Node

getLocalName

public abstract java.lang.String getLocalName()
Specified by:
getLocalName in interface org.w3c.dom.Node

hasAttributes

public boolean hasAttributes()
Specified by:
hasAttributes in interface org.w3c.dom.Node

getNamespaceURI

public java.lang.String getNamespaceURI()
Specified by:
getNamespaceURI in interface org.w3c.dom.Node

getNodeName

public abstract java.lang.String getNodeName()
Specified by:
getNodeName in interface org.w3c.dom.Node

getNodeValue

public abstract java.lang.String getNodeValue()
                                       throws org.w3c.dom.DOMException
Specified by:
getNodeValue in interface org.w3c.dom.Node
Throws:
org.w3c.dom.DOMException

getPrefix

public java.lang.String getPrefix()
Specified by:
getPrefix in interface org.w3c.dom.Node

setPrefix

public void setPrefix(java.lang.String prefix)
               throws org.w3c.dom.DOMException
Specified by:
setPrefix in interface org.w3c.dom.Node
Throws:
org.w3c.dom.DOMException

setNodeValue

public abstract void setNodeValue(java.lang.String nodeValue)
                           throws org.w3c.dom.DOMException
Specified by:
setNodeValue in interface org.w3c.dom.Node
Throws:
org.w3c.dom.DOMException

getNodeType

public abstract short getNodeType()
Specified by:
getNodeType in interface org.w3c.dom.Node

getTextContent

public java.lang.String getTextContent()
                                throws org.w3c.dom.DOMException
Gets the text content of this node and its descendents.

Specified by:
getTextContent in interface org.w3c.dom.Node
Throws:
org.w3c.dom.DOMException

setTextContent

public void setTextContent(java.lang.String textContent)
                    throws org.w3c.dom.DOMException
Specified by:
setTextContent in interface org.w3c.dom.Node
Throws:
org.w3c.dom.DOMException

removeChildren

protected void removeChildren(NodeFilter filter)

removeChildrenImpl

protected void removeChildrenImpl(NodeFilter filter)

insertAfter

public org.w3c.dom.Node insertAfter(org.w3c.dom.Node newChild,
                                    org.w3c.dom.Node refChild)

replaceAdjacentTextNodes

public org.w3c.dom.Text replaceAdjacentTextNodes(org.w3c.dom.Text node,
                                                 java.lang.String textContent)

replaceAdjacentTextNodes

public org.w3c.dom.Text replaceAdjacentTextNodes(org.w3c.dom.Text node)

getParentNode

public org.w3c.dom.Node getParentNode()
Specified by:
getParentNode in interface org.w3c.dom.Node

isSameNode

public boolean isSameNode(org.w3c.dom.Node other)
Specified by:
isSameNode in interface org.w3c.dom.Node

isSupported

public boolean isSupported(java.lang.String feature,
                           java.lang.String version)
Specified by:
isSupported in interface org.w3c.dom.Node

lookupNamespaceURI

public java.lang.String lookupNamespaceURI(java.lang.String prefix)
Specified by:
lookupNamespaceURI in interface org.w3c.dom.Node

equalAttributes

public boolean equalAttributes(org.w3c.dom.Node arg)

isEqualNode

public boolean isEqualNode(org.w3c.dom.Node arg)
Specified by:
isEqualNode in interface org.w3c.dom.Node

isDefaultNamespace

public boolean isDefaultNamespace(java.lang.String namespaceURI)
Specified by:
isDefaultNamespace in interface org.w3c.dom.Node

lookupPrefix

public java.lang.String lookupPrefix(java.lang.String namespaceURI)
Specified by:
lookupPrefix in interface org.w3c.dom.Node

normalize

public void normalize()
Specified by:
normalize in interface org.w3c.dom.Node

toString

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

getUserAgentContext

public UserAgentContext getUserAgentContext()

getHtmlRendererContext

public HtmlRendererContext getHtmlRendererContext()

getAlignmentX

public float getAlignmentX()

getAlignmentY

public float getAlignmentY()

getFullURL

public java.net.URL getFullURL(java.lang.String spec)
                        throws java.net.MalformedURLException
Specified by:
getFullURL in interface ModelNode
Throws:
java.net.MalformedURLException

getDocumentURL

public java.net.URL getDocumentURL()

getDocumentItem

public java.lang.Object getDocumentItem(java.lang.String name)
Specified by:
getDocumentItem in interface ModelNode

setDocumentItem

public void setDocumentItem(java.lang.String name,
                            java.lang.Object value)
Description copied from interface: ModelNode
Sets a document item. A radio button, for example, can use this to set button group state.

Specified by:
setDocumentItem in interface ModelNode

isEqualOrDescendentOf

public final boolean isEqualOrDescendentOf(ModelNode otherContext)
Specified by:
isEqualOrDescendentOf in interface ModelNode

getParentModelNode

public final ModelNode getParentModelNode()
Specified by:
getParentModelNode in interface ModelNode

warn

public void warn(java.lang.String message,
                 java.lang.Throwable err)
Specified by:
warn in interface ModelNode

warn

public void warn(java.lang.String message)

informSizeInvalid

public void informSizeInvalid()

informLookInvalid

public void informLookInvalid()

informPositionInvalid

public void informPositionInvalid()

informInvalid

public void informInvalid()

informStructureInvalid

public void informStructureInvalid()

informNodeLoaded

protected void informNodeLoaded()

informExternalScriptLoading

protected void informExternalScriptLoading()

informLayoutInvalid

public void informLayoutInvalid()

informDocumentInvalid

public void informDocumentInvalid()

getRenderState

public org.lobobrowser.html.style.RenderState getRenderState()
Specified by:
getRenderState in interface ModelNode

getParentRenderState

protected final org.lobobrowser.html.style.RenderState getParentRenderState(java.lang.Object parent)

createRenderState

protected org.lobobrowser.html.style.RenderState createRenderState(org.lobobrowser.html.style.RenderState prevRenderState)

forgetRenderState

protected void forgetRenderState()

getInnerHTML

public java.lang.String getInnerHTML()

appendInnerHTMLImpl

protected void appendInnerHTMLImpl(java.lang.StringBuffer buffer)

htmlEncodeChildText

protected java.lang.String htmlEncodeChildText(java.lang.String text)

getInnerText

public java.lang.String getInnerText()
Attempts to convert the subtree starting at this point to a close text representation. BR elements are converted to line breaks, and so forth.


appendInnerTextImpl

protected void appendInnerTextImpl(java.lang.StringBuffer buffer)


SourceForge.net LogoCopyright © 2005, 2006, 2007 The Lobo Project. All Rights Reserved.
[Cobra Project Home]