Package org.lobobrowser.html.domimpl
Class NodeImpl
- java.lang.Object
-
- org.lobobrowser.js.AbstractScriptableDelegate
-
- org.lobobrowser.html.domimpl.NodeImpl
-
- All Implemented Interfaces:
ModelNode
,ScriptableDelegate
,org.w3c.dom.Node
- Direct Known Subclasses:
AttrImpl
,CharacterDataImpl
,DocumentFragmentImpl
,DocumentTypeImpl
,ElementImpl
,HTMLDocumentImpl
,HTMLProcessingInstruction
public abstract class NodeImpl extends AbstractScriptableDelegate implements org.w3c.dom.Node, ModelNode
-
-
Field Summary
Fields Modifier and Type Field Description 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
Constructors Constructor Description NodeImpl()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description 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 RenderState
createRenderState(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 anArrayList
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 RenderState
getParentRenderState(java.lang.Object parent)
java.lang.String
getPrefix()
org.w3c.dom.Node
getPreviousSibling()
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
-
-
-
-
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
-
-
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 interfaceorg.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 anArrayList
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 interfaceorg.w3c.dom.Node
-
compareDocumentPosition
public short compareDocumentPosition(org.w3c.dom.Node other) throws org.w3c.dom.DOMException
- Specified by:
compareDocumentPosition
in interfaceorg.w3c.dom.Node
- Throws:
org.w3c.dom.DOMException
-
getAttributes
public org.w3c.dom.NamedNodeMap getAttributes()
- Specified by:
getAttributes
in interfaceorg.w3c.dom.Node
-
getOwnerDocument
public org.w3c.dom.Document getOwnerDocument()
- Specified by:
getOwnerDocument
in interfaceorg.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 interfaceorg.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 interfaceorg.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 interfaceorg.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 interfaceorg.w3c.dom.Node
-
getBaseURI
public java.lang.String getBaseURI()
- Specified by:
getBaseURI
in interfaceorg.w3c.dom.Node
-
getChildNodes
public org.w3c.dom.NodeList getChildNodes()
- Specified by:
getChildNodes
in interfaceorg.w3c.dom.Node
-
getFirstChild
public org.w3c.dom.Node getFirstChild()
- Specified by:
getFirstChild
in interfaceorg.w3c.dom.Node
-
getLastChild
public org.w3c.dom.Node getLastChild()
- Specified by:
getLastChild
in interfaceorg.w3c.dom.Node
-
getPreviousSibling
public org.w3c.dom.Node getPreviousSibling()
- Specified by:
getPreviousSibling
in interfaceorg.w3c.dom.Node
-
getNextSibling
public org.w3c.dom.Node getNextSibling()
- Specified by:
getNextSibling
in interfaceorg.w3c.dom.Node
-
getFeature
public java.lang.Object getFeature(java.lang.String feature, java.lang.String version)
- Specified by:
getFeature
in interfaceorg.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 interfaceorg.w3c.dom.Node
-
getUserData
public java.lang.Object getUserData(java.lang.String key)
- Specified by:
getUserData
in interfaceorg.w3c.dom.Node
-
getLocalName
public abstract java.lang.String getLocalName()
- Specified by:
getLocalName
in interfaceorg.w3c.dom.Node
-
hasAttributes
public boolean hasAttributes()
- Specified by:
hasAttributes
in interfaceorg.w3c.dom.Node
-
getNamespaceURI
public java.lang.String getNamespaceURI()
- Specified by:
getNamespaceURI
in interfaceorg.w3c.dom.Node
-
getNodeName
public abstract java.lang.String getNodeName()
- Specified by:
getNodeName
in interfaceorg.w3c.dom.Node
-
getNodeValue
public abstract java.lang.String getNodeValue() throws org.w3c.dom.DOMException
- Specified by:
getNodeValue
in interfaceorg.w3c.dom.Node
- Throws:
org.w3c.dom.DOMException
-
getPrefix
public java.lang.String getPrefix()
- Specified by:
getPrefix
in interfaceorg.w3c.dom.Node
-
setPrefix
public void setPrefix(java.lang.String prefix) throws org.w3c.dom.DOMException
- Specified by:
setPrefix
in interfaceorg.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 interfaceorg.w3c.dom.Node
- Throws:
org.w3c.dom.DOMException
-
getNodeType
public abstract short getNodeType()
- Specified by:
getNodeType
in interfaceorg.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 interfaceorg.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 interfaceorg.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 interfaceorg.w3c.dom.Node
-
isSameNode
public boolean isSameNode(org.w3c.dom.Node other)
- Specified by:
isSameNode
in interfaceorg.w3c.dom.Node
-
isSupported
public boolean isSupported(java.lang.String feature, java.lang.String version)
- Specified by:
isSupported
in interfaceorg.w3c.dom.Node
-
lookupNamespaceURI
public java.lang.String lookupNamespaceURI(java.lang.String prefix)
- Specified by:
lookupNamespaceURI
in interfaceorg.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 interfaceorg.w3c.dom.Node
-
isDefaultNamespace
public boolean isDefaultNamespace(java.lang.String namespaceURI)
- Specified by:
isDefaultNamespace
in interfaceorg.w3c.dom.Node
-
lookupPrefix
public java.lang.String lookupPrefix(java.lang.String namespaceURI)
- Specified by:
lookupPrefix
in interfaceorg.w3c.dom.Node
-
normalize
public void normalize()
- Specified by:
normalize
in interfaceorg.w3c.dom.Node
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.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 interfaceModelNode
- Throws:
java.net.MalformedURLException
-
getDocumentURL
public java.net.URL getDocumentURL()
-
getDocumentItem
public java.lang.Object getDocumentItem(java.lang.String name)
- Specified by:
getDocumentItem
in interfaceModelNode
-
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 interfaceModelNode
-
isEqualOrDescendentOf
public final boolean isEqualOrDescendentOf(ModelNode otherContext)
- Specified by:
isEqualOrDescendentOf
in interfaceModelNode
-
getParentModelNode
public final ModelNode getParentModelNode()
- Specified by:
getParentModelNode
in interfaceModelNode
-
warn
public void warn(java.lang.String message, java.lang.Throwable err)
-
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 RenderState getRenderState()
- Specified by:
getRenderState
in interfaceModelNode
-
getParentRenderState
protected final RenderState getParentRenderState(java.lang.Object parent)
-
createRenderState
protected RenderState createRenderState(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)
-
-