com.gargoylesoftware.htmlunit.html
Class HtmlAnchor

java.lang.Object
  extended by com.gargoylesoftware.htmlunit.html.DomNode
      extended by com.gargoylesoftware.htmlunit.html.DomNamespaceNode
          extended by com.gargoylesoftware.htmlunit.html.DomElement
              extended by com.gargoylesoftware.htmlunit.html.HtmlElement
                  extended by com.gargoylesoftware.htmlunit.html.HtmlAnchor
All Implemented Interfaces:
Serializable, Cloneable, Element, ElementTraversal, Node

public class HtmlAnchor
extends HtmlElement

Wrapper for the HTML element "a".

Version:
$Revision: 8972 $
Author:
Mike Bowler, David K. Taylor, Christian Sell, Ahmed Ashour, Dmitri Zoubkov, Ronald Brill, Frank Danek
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.gargoylesoftware.htmlunit.html.HtmlElement
HtmlElement.DisplayStyle
 
Nested classes/interfaces inherited from class com.gargoylesoftware.htmlunit.html.DomElement
DomElement.ChildElementsIterator
 
Nested classes/interfaces inherited from class com.gargoylesoftware.htmlunit.html.DomNode
DomNode.ChildIterator, DomNode.DescendantElementsIterator<T extends DomNode>
 
Field Summary
static String TAG_NAME
          The HTML tag represented by this element.
 
Fields inherited from class com.gargoylesoftware.htmlunit.html.HtmlElement
TAB_INDEX_OUT_OF_BOUNDS
 
Fields inherited from class com.gargoylesoftware.htmlunit.html.DomElement
ATTRIBUTE_NOT_DEFINED, ATTRIBUTE_VALUE_EMPTY
 
Fields inherited from class com.gargoylesoftware.htmlunit.html.DomNode
AS_TEXT_BLANK, AS_TEXT_BLOCK_SEPARATOR, AS_TEXT_NEW_LINE, AS_TEXT_TAB, PROPERTY_ELEMENT, READY_STATE_COMPLETE, READY_STATE_INTERACTIVE, READY_STATE_LOADED, READY_STATE_LOADING, READY_STATE_UNINITIALIZED
 
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
 
Method Summary
protected  boolean doClickStateUpdate()
          This method implements the control state update part of the click action.
protected  void doClickStateUpdate(String hrefSuffix)
          Same as doClickStateUpdate(), except that it accepts an href suffix, needed when a click is performed on an image map to pass information on the click position.
 String getAccessKeyAttribute()
          Returns the value of the attribute "accesskey".
 String getCharsetAttribute()
          Returns the value of the attribute "charset".
 String getCoordsAttribute()
          Returns the value of the attribute "coords".
 HtmlElement.DisplayStyle getDefaultStyleDisplay()
          INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Returns the default display style.
 String getHrefAttribute()
          Returns the value of the attribute "href".
 String getHrefLangAttribute()
          Returns the value of the attribute "hreflang".
 String getNameAttribute()
          Returns the value of the attribute "name".
 String getOnBlurAttribute()
          Returns the value of the attribute "onblur".
 String getOnFocusAttribute()
          Returns the value of the attribute "onfocus".
 String getRelAttribute()
          Returns the value of the attribute "rel".
 String getRevAttribute()
          Returns the value of the attribute "rev".
 String getShapeAttribute()
          Returns the value of the attribute "shape".
 String getTabIndexAttribute()
          Returns the value of the attribute "tabindex".
 String getTargetAttribute()
          Returns the value of the attribute "target".
static URL getTargetUrl(String href, HtmlPage page)
          INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
 String getTypeAttribute()
          Returns the value of the attribute "type".
protected  boolean isEmptyXmlTagExpanded()
          Indicates if a node without children should be written in expanded form as XML (i.e.
 Page openLinkInNewWindow()
          Open this link in a new window, much as web browsers do when you shift-click a link or use the context menu to open in a new window.
 
Methods inherited from class com.gargoylesoftware.htmlunit.html.HtmlElement
addHtmlAttributeChangeListener, appendChildIfNoneExists, blur, checkChildHierarchy, click, click, click, dblClick, dblClick, doClickFireChangeEvent, doClickFireClickEvent, doType, fireEvent, fireEvent, fireHtmlAttributeAdded, fireHtmlAttributeRemoved, fireHtmlAttributeReplaced, focus, getCanonicalXPath, getElementsByAttribute, getEnclosingElement, getEnclosingForm, getEnclosingFormOrDie, getEventTargetElement, getHtmlElementsByTagName, getHtmlElementsByTagNames, getLangAttribute, getNodeName, getOnClickAttribute, getOnDblClickAttribute, getOneHtmlElementByAttribute, getOnKeyDownAttribute, getOnKeyPressAttribute, getOnKeyUpAttribute, getOnMouseDownAttribute, getOnMouseMoveAttribute, getOnMouseOutAttribute, getOnMouseOverAttribute, getOnMouseUpAttribute, getTabIndex, getTextDirectionAttribute, getXmlLangAttribute, hasEventHandlers, isAttributeCaseSensitive, isStateUpdateFirst, isSubmittableByEnter, mouseDown, mouseDown, mouseMove, mouseMove, mouseOut, mouseOut, mouseOver, mouseOver, mouseUp, mouseUp, preventDefault, querySelector, querySelectorAll, removeAttribute, removeChild, removeEventHandler, removeHtmlAttributeChangeListener, rightClick, rightClick, setAttributeNode, setAttributeNS, setEventHandler, setEventHandler, setId, toString, type, type, type, type, type, type
 
Methods inherited from class com.gargoylesoftware.htmlunit.html.DomElement
cloneNode, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getAttributesMap, getChildElementCount, getChildElements, getElementsByTagName, getElementsByTagNameNS, getFirstElementChild, getId, getLastElementChild, getNextElementSibling, getNodeType, getPreviousElementSibling, getSchemaTypeInfo, getTagName, hasAttribute, hasAttributeNS, hasAttributes, namespaces, printOpeningTagContentAsXml, printXml, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNodeNS, setIdAttribute, setIdAttributeNode, setIdAttributeNS
 
Methods inherited from class com.gargoylesoftware.htmlunit.html.DomNamespaceNode
getLocalName, getNamespaceURI, getPrefix, getQualifiedName, processImportNode, setPrefix
 
Methods inherited from class com.gargoylesoftware.htmlunit.html.DomNode
addDomChangeListener, appendChild, asText, asXml, compareDocumentPosition, detach, fireNodeAdded, fireNodeDeleted, getAncestors, getBaseURI, getByXPath, getByXPath, getChildNodes, getChildren, getDescendants, getEndColumnNumber, getEndLineNumber, getFeature, getFirstByXPath, getFirstByXPath, getFirstChild, getHtmlElementDescendants, getHtmlPageOrNull, getIndex, getLastChild, getNextSibling, getNodeValue, getOwnerDocument, getPage, getParentNode, getPreviousSibling, getReadyState, getScriptObject, getStartColumnNumber, getStartLineNumber, getTextContent, getUserData, hasChildNodes, hasFeature, insertBefore, insertBefore, isAncestorOf, isAncestorOfAny, isBlock, isDefaultNamespace, isDescendant, isDirectlyAttachedToPage, isDisplayed, isEqualNode, isSameNode, isSupported, isTrimmedText, lookupNamespaceURI, lookupPrefix, mayBeDisplayed, normalize, notifyIncorrectness, onAddedToDocumentFragment, onAddedToPage, onAllChildrenAddedToPage, printChildrenAsXml, remove, removeAllChildren, removeChild, removeDomChangeListener, replace, replaceChild, setNextSibling, setNodeValue, setParentNode, setPreviousSibling, setReadyState, setScriptObject, setTextContent, setUserData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.w3c.dom.Node
appendChild, compareDocumentPosition, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData
 

Field Detail

TAG_NAME

public static final String TAG_NAME
The HTML tag represented by this element.

See Also:
Constant Field Values
Method Detail

doClickStateUpdate

protected void doClickStateUpdate(String hrefSuffix)
                           throws IOException
Same as doClickStateUpdate(), except that it accepts an href suffix, needed when a click is performed on an image map to pass information on the click position.

Parameters:
hrefSuffix - the suffix to add to the anchor's href attribute (for instance coordinates from an image map)
Throws:
IOException - if an IO error occurs

getTargetUrl

public static URL getTargetUrl(String href,
                               HtmlPage page)
                        throws MalformedURLException
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.

Parameters:
href - the href
page - the HtmlPage
Returns:
the calculated target url.
Throws:
MalformedURLException - if an IO error occurs

doClickStateUpdate

protected boolean doClickStateUpdate()
                              throws IOException
This method implements the control state update part of the click action.

The default implementation only calls doClickStateUpdate on parent's HtmlElement (if any). Subclasses requiring different behavior (like HtmlSubmitInput) will override this method.

Overrides:
doClickStateUpdate in class HtmlElement
Returns:
true if doClickFireEvent method has to be called later on (to signal, that the value was changed)
Throws:
IOException - if an IO error occurs

getCharsetAttribute

public final String getCharsetAttribute()
Returns the value of the attribute "charset". Refer to the HTML 4.01 documentation for details on the use of this attribute.

Returns:
the value of the attribute "charset" or an empty string if that attribute isn't defined

getTypeAttribute

public final String getTypeAttribute()
Returns the value of the attribute "type". Refer to the HTML 4.01 documentation for details on the use of this attribute.

Returns:
the value of the attribute "type" or an empty string if that attribute isn't defined

getNameAttribute

public final String getNameAttribute()
Returns the value of the attribute "name". Refer to the HTML 4.01 documentation for details on the use of this attribute.

Returns:
the value of the attribute "name" or an empty string if that attribute isn't defined

getHrefAttribute

public final String getHrefAttribute()
Returns the value of the attribute "href". Refer to the HTML 4.01 documentation for details on the use of this attribute.

Returns:
the value of the attribute "href" or an empty string if that attribute isn't defined

getHrefLangAttribute

public final String getHrefLangAttribute()
Returns the value of the attribute "hreflang". Refer to the HTML 4.01 documentation for details on the use of this attribute.

Returns:
the value of the attribute "hreflang" or an empty string if that attribute isn't defined

getRelAttribute

public final String getRelAttribute()
Returns the value of the attribute "rel". Refer to the HTML 4.01 documentation for details on the use of this attribute.

Returns:
the value of the attribute "rel" or an empty string if that attribute isn't defined

getRevAttribute

public final String getRevAttribute()
Returns the value of the attribute "rev". Refer to the HTML 4.01 documentation for details on the use of this attribute.

Returns:
the value of the attribute "rev" or an empty string if that attribute isn't defined

getAccessKeyAttribute

public final String getAccessKeyAttribute()
Returns the value of the attribute "accesskey". Refer to the HTML 4.01 documentation for details on the use of this attribute.

Returns:
the value of the attribute "accesskey" or an empty string if that attribute isn't defined

getShapeAttribute

public final String getShapeAttribute()
Returns the value of the attribute "shape". Refer to the HTML 4.01 documentation for details on the use of this attribute.

Returns:
the value of the attribute "shape" or an empty string if that attribute isn't defined

getCoordsAttribute

public final String getCoordsAttribute()
Returns the value of the attribute "coords". Refer to the HTML 4.01 documentation for details on the use of this attribute.

Returns:
the value of the attribute "coords" or an empty string if that attribute isn't defined

getTabIndexAttribute

public final String getTabIndexAttribute()
Returns the value of the attribute "tabindex". Refer to the HTML 4.01 documentation for details on the use of this attribute.

Returns:
the value of the attribute "tabindex" or an empty string if that attribute isn't defined

getOnFocusAttribute

public final String getOnFocusAttribute()
Returns the value of the attribute "onfocus". Refer to the HTML 4.01 documentation for details on the use of this attribute.

Returns:
the value of the attribute "onfocus" or an empty string if that attribute isn't defined

getOnBlurAttribute

public final String getOnBlurAttribute()
Returns the value of the attribute "onblur". Refer to the HTML 4.01 documentation for details on the use of this attribute.

Returns:
the value of the attribute "onblur" or an empty string if that attribute isn't defined

getTargetAttribute

public final String getTargetAttribute()
Returns the value of the attribute "target". Refer to the HTML 4.01 documentation for details on the use of this attribute.

Returns:
the value of the attribute "target" or an empty string if that attribute isn't defined

openLinkInNewWindow

public final Page openLinkInNewWindow()
                               throws MalformedURLException
Open this link in a new window, much as web browsers do when you shift-click a link or use the context menu to open in a new window. It should be noted that even web browsers will sometimes not give the expected result when using this method of following links. Links that have no real href and rely on JavaScript to do their work will fail.

Returns:
the page opened by this link, nested in a new TopLevelWindow
Throws:
MalformedURLException - if the href could not be converted to a valid URL

isEmptyXmlTagExpanded

protected boolean isEmptyXmlTagExpanded()
Description copied from class: DomElement
Indicates if a node without children should be written in expanded form as XML (i.e. with closing tag rather than with "/>")

Overrides:
isEmptyXmlTagExpanded in class DomElement
Returns:
false by default

getDefaultStyleDisplay

public HtmlElement.DisplayStyle getDefaultStyleDisplay()
INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
Returns the default display style.

Overrides:
getDefaultStyleDisplay in class HtmlElement
Returns:
the default display style.


Copyright © 2002–2014 Gargoyle Software Inc.. All rights reserved.