Package org.lobobrowser.html.domimpl
Class HTMLElementImpl
- java.lang.Object
-
- org.lobobrowser.js.AbstractScriptableDelegate
-
- org.lobobrowser.html.domimpl.NodeImpl
-
- org.lobobrowser.html.domimpl.ElementImpl
-
- org.lobobrowser.html.domimpl.HTMLElementImpl
-
- All Implemented Interfaces:
ModelNode,CSS2PropertiesContext,ScriptableDelegate,org.w3c.dom.Element,HTMLElement,org.w3c.dom.Node
- Direct Known Subclasses:
HTMLAbstractUIElement,HTMLBaseElementImpl,HTMLBRElementImpl,HTMLFrameElementImpl,HTMLFrameSetElementImpl,HTMLHtmlElementImpl,HTMLNonStandardElement,HTMLOptionElementImpl,HTMLScriptElementImpl,HTMLStyleElementImpl,HTMLTableRowElementImpl,HTMLTitleElementImpl
public class HTMLElementImpl extends ElementImpl implements HTMLElement, CSS2PropertiesContext
-
-
Field Summary
-
Fields inherited from class org.lobobrowser.html.domimpl.ElementImpl
attributes
-
Fields inherited from class org.lobobrowser.html.domimpl.NodeImpl
document, logger, nodeList, notificationsSuspended, parentNode, treeLock, 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 HTMLElementImpl(java.lang.String name)HTMLElementImpl(java.lang.String name, boolean noStyleSheet)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected AbstractCSS2PropertiesaddStyleSheetDeclarations(AbstractCSS2Properties style, java.util.Set pseudoNames)Adds style sheet declarations applicable to this element.protected voidappendOuterHTMLImpl(java.lang.StringBuffer buffer)protected voidassignAttributeField(java.lang.String normalName, java.lang.String value)protected AbstractCSS2PropertiescreateDefaultStyleSheet()protected RenderStatecreateRenderState(RenderState prevRenderState)protected java.util.CollectionfindStyleDeclarations(java.lang.String elementName, java.lang.String id, java.lang.String className, java.util.Set pseudoNames)protected voidforgetLocalStyle()protected voidforgetStyle(boolean deep)HTMLElementImplgetAncestor(java.lang.String elementTL)protected java.lang.ObjectgetAncestorForJavaClass(java.lang.Class javaClass)HTMLElementImplgetAncestorWithClass(java.lang.String elementTL, java.lang.String classTL)Get an ancestor that matches the element tag name given and the style class given.HTMLElementImplgetAncestorWithId(java.lang.String elementTL, java.lang.String idTL)booleangetAttributeAsBoolean(java.lang.String name)protected intgetAttributeAsInt(java.lang.String name, int defaultValue)java.lang.StringgetCharset()java.lang.StringgetClassName()The class attribute of the element.AbstractCSS2PropertiesgetComputedStyle(java.lang.String pseudoElement)protected InputSourcegetCssInputSourceForDecl(java.lang.String text)AbstractCSS2PropertiesgetCurrentStyle()Gets the style object associated with the element.java.lang.StringgetDocumentBaseURI()protected FormInput[]getFormInputs()Gets form input due to the current element.intgetOffsetHeight()intgetOffsetLeft()intgetOffsetTop()intgetOffsetWidth()java.lang.StringgetOuterHTML()HTMLElementImplgetParent(java.lang.String elementTL)AbstractCSS2PropertiesgetParentStyle()HTMLElementImplgetParentWithClass(java.lang.String elementTL, java.lang.String classTL)HTMLElementImplgetParentWithId(java.lang.String elementTL, java.lang.String idTL)HTMLElementImplgetPreceedingSibling(java.lang.String elementTL)HTMLElementImplgetPreceedingSiblingElement()HTMLElementImplgetPreceedingSiblingWithClass(java.lang.String elementTL, java.lang.String classTL)HTMLElementImplgetPreceedingSiblingWithId(java.lang.String elementTL, java.lang.String idTL)java.util.SetgetPseudoNames()Gets the pseudo-element lowercase names currently applicable to this element.AbstractCSS2PropertiesgetStyle()Gets the local style object associated with the element.voidinformInvalid()voidinformInvalidAttibute(java.lang.String normalName)voidsetCharset(java.lang.String charset)voidsetClassName(java.lang.String className)The class attribute of the element.voidsetCurrentStyle(java.lang.Object value)voidsetInnerHTML(java.lang.String newHtml)voidsetMouseOver(boolean mouseOver)voidsetStyle(java.lang.Object value)java.lang.StringtoString()voidwarn(java.lang.String message)voidwarn(java.lang.String message, java.lang.Throwable err)-
Methods inherited from class org.lobobrowser.html.domimpl.ElementImpl
createSimilarNode, equalAttributes, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getDir, getElementsByTagName, getElementsByTagNameNS, getId, getLang, getLocalName, getNodeName, getNodeType, getNodeValue, getRawInnerText, getSchemaTypeInfo, getTagName, getTitle, hasAttribute, hasAttributeNS, hasAttributes, htmlEncodeChildText, isTagName, normalizeAttributeName, removeAttribute, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeImpl, setAttributeNode, setAttributeNodeNS, setAttributeNS, setDir, setId, setIdAttribute, setIdAttributeNode, setIdAttributeNS, setInnerText, setLang, setNodeValue, setTitle
-
Methods inherited from class org.lobobrowser.html.domimpl.NodeImpl
appendChild, appendInnerHTMLImpl, appendInnerTextImpl, cloneNode, compareDocumentPosition, findUINode, forgetRenderState, getAlignmentX, getAlignmentY, getBaseURI, getChildNodes, getChildren, getChildrenArray, getDescendents, getDocumentItem, getDocumentURL, getFeature, getFirstChild, getFullURL, getHtmlRendererContext, getInnerHTML, getInnerText, getLastChild, getNamespaceURI, getNextSibling, getNodeList, getOwnerDocument, getParentModelNode, getParentNode, getParentRenderState, getPrefix, getPreviousSibling, getRenderState, getTextContent, getUINode, getUserAgentContext, getUserData, hasChildNodes, informDocumentInvalid, informExternalScriptLoading, informLayoutInvalid, informLookInvalid, informNodeLoaded, informPositionInvalid, informSizeInvalid, informStructureInvalid, insertAfter, insertAt, insertBefore, isDefaultNamespace, isEqualNode, isEqualOrDescendentOf, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeAllChildren, removeAllChildrenImpl, removeChild, removeChildAt, removeChildren, removeChildrenImpl, replaceAdjacentTextNodes, replaceAdjacentTextNodes, replaceChild, setDocumentItem, setPrefix, setTextContent, setUINode, setUserData
-
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
-
Methods inherited from interface org.lobobrowser.html.style.CSS2PropertiesContext
informLayoutInvalid, informLookInvalid, informPositionInvalid, informSizeInvalid
-
Methods inherited from interface org.w3c.dom.Element
getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getElementsByTagName, getElementsByTagNameNS, getSchemaTypeInfo, getTagName, hasAttribute, hasAttributeNS, removeAttribute, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setIdAttribute, setIdAttributeNode, setIdAttributeNS
-
Methods inherited from interface org.w3c.dom.html2.HTMLElement
getDir, getId, getLang, getTitle, setDir, setId, setLang, setTitle
-
Methods inherited from interface org.w3c.dom.Node
appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData
-
-
-
-
Method Detail
-
forgetLocalStyle
protected final void forgetLocalStyle()
-
forgetStyle
protected final void forgetStyle(boolean deep)
-
getCurrentStyle
public AbstractCSS2Properties getCurrentStyle()
Gets the style object associated with the element. It may return null only if the type of element does not handle stylesheets.
-
getStyle
public AbstractCSS2Properties getStyle()
Gets the local style object associated with the element. The properties object returned only includes properties from the local style attribute. It may return null only if the type of element does not handle stylesheets.
-
createDefaultStyleSheet
protected AbstractCSS2Properties createDefaultStyleSheet()
-
getComputedStyle
public AbstractCSS2Properties getComputedStyle(java.lang.String pseudoElement)
-
setStyle
public void setStyle(java.lang.Object value)
-
setCurrentStyle
public void setCurrentStyle(java.lang.Object value)
-
getClassName
public java.lang.String getClassName()
Description copied from interface:HTMLElementThe class attribute of the element. This attribute has been renamed due to conflicts with the "class" keyword exposed by many languages. See the class attribute definition in HTML 4.01.- Specified by:
getClassNamein interfaceHTMLElement
-
setClassName
public void setClassName(java.lang.String className)
Description copied from interface:HTMLElementThe class attribute of the element. This attribute has been renamed due to conflicts with the "class" keyword exposed by many languages. See the class attribute definition in HTML 4.01.- Specified by:
setClassNamein interfaceHTMLElement
-
getCharset
public java.lang.String getCharset()
-
setCharset
public void setCharset(java.lang.String charset)
-
warn
public void warn(java.lang.String message, java.lang.Throwable err)
-
getAttributeAsInt
protected int getAttributeAsInt(java.lang.String name, int defaultValue)
-
getAttributeAsBoolean
public boolean getAttributeAsBoolean(java.lang.String name)
-
assignAttributeField
protected void assignAttributeField(java.lang.String normalName, java.lang.String value)- Overrides:
assignAttributeFieldin classElementImpl
-
getCssInputSourceForDecl
protected final InputSource getCssInputSourceForDecl(java.lang.String text)
-
addStyleSheetDeclarations
protected final AbstractCSS2Properties addStyleSheetDeclarations(AbstractCSS2Properties style, java.util.Set pseudoNames)
Adds style sheet declarations applicable to this element. A properties object is created if necessary when the one passed isnull.- Parameters:
style-
-
setMouseOver
public void setMouseOver(boolean mouseOver)
-
getPseudoNames
public java.util.Set getPseudoNames()
Gets the pseudo-element lowercase names currently applicable to this element. Method must returnnullif there are no such pseudo-elements.
-
findStyleDeclarations
protected final java.util.Collection findStyleDeclarations(java.lang.String elementName, java.lang.String id, java.lang.String className, java.util.Set pseudoNames)
-
informInvalid
public void informInvalid()
- Specified by:
informInvalidin interfaceCSS2PropertiesContext- Overrides:
informInvalidin classNodeImpl
-
informInvalidAttibute
public void informInvalidAttibute(java.lang.String normalName)
-
getFormInputs
protected FormInput[] getFormInputs()
Gets form input due to the current element. It should returnnullexcept when the element is a form input element.
-
getAncestorWithClass
public HTMLElementImpl getAncestorWithClass(java.lang.String elementTL, java.lang.String classTL)
Get an ancestor that matches the element tag name given and the style class given.- Parameters:
elementTL- An tag name in lowercase or an asterisk (*).classTL- A class name in lowercase.
-
getParentWithClass
public HTMLElementImpl getParentWithClass(java.lang.String elementTL, java.lang.String classTL)
-
getPreceedingSiblingElement
public HTMLElementImpl getPreceedingSiblingElement()
-
getPreceedingSiblingWithClass
public HTMLElementImpl getPreceedingSiblingWithClass(java.lang.String elementTL, java.lang.String classTL)
-
getAncestorWithId
public HTMLElementImpl getAncestorWithId(java.lang.String elementTL, java.lang.String idTL)
-
getParentWithId
public HTMLElementImpl getParentWithId(java.lang.String elementTL, java.lang.String idTL)
-
getPreceedingSiblingWithId
public HTMLElementImpl getPreceedingSiblingWithId(java.lang.String elementTL, java.lang.String idTL)
-
getAncestor
public HTMLElementImpl getAncestor(java.lang.String elementTL)
-
getParent
public HTMLElementImpl getParent(java.lang.String elementTL)
-
getPreceedingSibling
public HTMLElementImpl getPreceedingSibling(java.lang.String elementTL)
-
getAncestorForJavaClass
protected java.lang.Object getAncestorForJavaClass(java.lang.Class javaClass)
-
setInnerHTML
public void setInnerHTML(java.lang.String newHtml)
-
getOuterHTML
public java.lang.String getOuterHTML()
-
appendOuterHTMLImpl
protected void appendOuterHTMLImpl(java.lang.StringBuffer buffer)
-
createRenderState
protected RenderState createRenderState(RenderState prevRenderState)
- Overrides:
createRenderStatein classNodeImpl
-
getOffsetTop
public int getOffsetTop()
-
getOffsetLeft
public int getOffsetLeft()
-
getOffsetWidth
public int getOffsetWidth()
-
getOffsetHeight
public int getOffsetHeight()
-
getParentStyle
public AbstractCSS2Properties getParentStyle()
- Specified by:
getParentStylein interfaceCSS2PropertiesContext
-
getDocumentBaseURI
public java.lang.String getDocumentBaseURI()
- Specified by:
getDocumentBaseURIin interfaceCSS2PropertiesContext
-
toString
public java.lang.String toString()
- Overrides:
toStringin classElementImpl
-
-