com.gargoylesoftware.htmlunit.html
Class HtmlImage

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.StyledElement
                      extended by com.gargoylesoftware.htmlunit.html.ClickableElement
                          extended by com.gargoylesoftware.htmlunit.html.HtmlImage
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, org.w3c.dom.Element, org.w3c.dom.Node

public class HtmlImage
extends ClickableElement

Wrapper for the HTML element "img".

Version:
$Revision: 4713 $
Author:
Mike Bowler, David K. Taylor, Christian Sell, Ahmed Ashour, Knut Johannes Dahle
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.gargoylesoftware.htmlunit.html.HtmlElement
HtmlElement.ChildElementsIterator
 
Nested classes/interfaces inherited from class com.gargoylesoftware.htmlunit.html.DomNode
DomNode.ChildIterator, DomNode.DescendantElementsIterator
 
Field Summary
static java.lang.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
 Page click()
          Simulates clicking this element at the position (0, 0).
 Page click(int x, int y)
          Simulates clicking this element at the specified position.
protected  Page doClickAction(Page defaultPage)
          Performs the click action on the enclosing A tag (if any).
 void doOnLoad()
          INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
 java.lang.String getAlignAttribute()
          Returns the value of the attribute "align".
 java.lang.String getAltAttribute()
          Returns the value of the attribute "alt".
 java.lang.String getBorderAttribute()
          Returns the value of the attribute "border".
 int getHeight()
          POTENIAL PERFORMANCE KILLER - DOWNLOADS THE IMAGE - USE AT YOUR OWN RISK.
If the image is not already downloaded it triggers a download.
 java.lang.String getHeightAttribute()
          Returns the value of the attribute "height".
 java.lang.String getHspaceAttribute()
          Returns the value of the attribute "hspace".
 javax.imageio.ImageReader getImageReader()
          POTENIAL PERFORMANCE KILLER - DOWNLOADS THE IMAGE - USE AT YOUR OWN RISK.
If the image is not already downloaded it triggers a download.
 java.lang.String getIsmapAttribute()
          Returns the value of the attribute "ismap".
 java.lang.String getLongDescAttribute()
          Returns the value of the attribute "longdesc".
 java.lang.String getNameAttribute()
          Returns the value of the attribute "name".
 java.lang.String getSrcAttribute()
          Returns the value of the attribute "src".
 java.lang.String getUseMapAttribute()
          Returns the value of the attribute "usemap".
 java.lang.String getVspaceAttribute()
          Returns the value of the attribute "vspace".
 WebResponse getWebResponse(boolean downloadIfNeeded)
          POTENIAL PERFORMANCE KILLER - DOWNLOADS THE IMAGE - USE AT YOUR OWN RISK.
If the image is not already downloaded it triggers a download.
 int getWidth()
          POTENIAL PERFORMANCE KILLER - DOWNLOADS THE IMAGE - USE AT YOUR OWN RISK.
If the image is not already downloaded it triggers a download.
 java.lang.String getWidthAttribute()
          Returns the value of the attribute "width".
protected  void onAddedToPage()
          Lifecycle method invoked whenever a node is added to a page.
 void saveAs(java.io.File file)
          Saves this image as the specified file.
 
Methods inherited from class com.gargoylesoftware.htmlunit.html.StyledElement
getClassAttribute, getIdAttribute, getStyleAttribute, getTitleAttribute
 
Methods inherited from class com.gargoylesoftware.htmlunit.html.HtmlElement
addHtmlAttributeChangeListener, appendChildIfNoneExists, blur, checkChildHierarchy, click, click, dblClick, dblClick, doType, fireEvent, fireEvent, fireHtmlAttributeAdded, fireHtmlAttributeRemoved, fireHtmlAttributeReplaced, focus, getChildElements, getElementById, getElementsByAttribute, getEnclosingElement, getEnclosingForm, getEnclosingFormOrDie, getEventHandler, getHtmlElementsByTagName, getHtmlElementsByTagNames, getId, getLangAttribute, getNodeName, getOnClickAttribute, getOnDblClickAttribute, getOneHtmlElementByAttribute, getOnKeyDownAttribute, getOnKeyPressAttribute, getOnKeyUpAttribute, getOnMouseDownAttribute, getOnMouseMoveAttribute, getOnMouseOutAttribute, getOnMouseOverAttribute, getOnMouseUpAttribute, getTabIndex, getTextDirectionAttribute, getXmlLangAttribute, hasHtmlElementWithId, isAttributeCaseSensitive, isStateUpdateFirst, isSubmittableByEnter, mouseDown, mouseDown, mouseMove, mouseMove, mouseOut, mouseOut, mouseOver, mouseOver, mouseUp, mouseUp, preventDefault, removeAttribute, removeChild, removeEventHandler, removeHtmlAttributeChangeListener, rightClick, rightClick, setAttributeNS, setEventHandler, setEventHandler, setId, toString, type, type, type, type
 
Methods inherited from class com.gargoylesoftware.htmlunit.html.DomElement
cloneNode, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getAttributesMap, getElementsByTagName, getElementsByTagNameNS, getNodeType, getSchemaTypeInfo, getTagName, hasAttribute, hasAttributeNS, hasAttributes, isEmptyXmlTagExpanded, namespaces, printOpeningTagContentAsXml, printXml, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setIdAttribute, setIdAttributeNode, setIdAttributeNS
 
Methods inherited from class com.gargoylesoftware.htmlunit.html.DomNamespaceNode
getLocalName, getNamespaceURI, getPrefix, getQualifiedName, setPrefix
 
Methods inherited from class com.gargoylesoftware.htmlunit.html.DomNode
addDomChangeListener, appendChild, asText, asXml, compareDocumentPosition, fireNodeAdded, fireNodeDeleted, getAllHtmlChildElements, getAncestors, getBaseURI, getByXPath, getCanonicalXPath, getChildNodes, getChildren, getEndColumnNumber, getEndLineNumber, getFeature, getFirstByXPath, getFirstChild, getLastChild, getNextSibling, getNodeValue, getOwnerDocument, getPage, getParentNode, getPreviousSibling, getReadyState, getScriptObject, getStartColumnNumber, getStartLineNumber, getTextContent, getUserData, hasChildNodes, insertBefore, insertBefore, isAncestorOf, isBlock, isDefaultNamespace, isDisplayed, isEqualNode, isSameNode, isSupported, isTrimmedText, lookupNamespaceURI, lookupPrefix, normalize, notifyIncorrectness, onAllChildrenAddedToPage, printChildrenAsXml, remove, removeAllChildren, removeChild, removeDomChangeListener, replace, replaceChild, selectNodes, selectSingleNode, 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 java.lang.String TAG_NAME
The HTML tag represented by this element.

See Also:
Constant Field Values
Method Detail

onAddedToPage

protected void onAddedToPage()
Lifecycle method invoked whenever a node is added to a page. Intended to be overridden by nodes which need to perform custom logic when they are added to a page. This method is recursive, so if you override it, please be sure to call super.onAddedToPage().

Overrides:
onAddedToPage in class DomNode

doOnLoad

public void doOnLoad()

INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.

Executes this element's onload handler if it has one. This method also downloads the image if this element has an onload handler (prior to invoking said handler), because applications sometimes use images to send information to the server and use the onload handler to get notified when the information has been received by the server.

See here and here for the discussion which lead up to this method.

This method may be called multiple times, but will only attempt to execute the onload handler the first time it is invoked.


getSrcAttribute

public final java.lang.String getSrcAttribute()
Returns the value of the attribute "src". Refer to the HTML 4.01 documentation for details on the use of this attribute.

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

getAltAttribute

public final java.lang.String getAltAttribute()
Returns the value of the attribute "alt". Refer to the HTML 4.01 documentation for details on the use of this attribute.

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

getNameAttribute

public final java.lang.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

getLongDescAttribute

public final java.lang.String getLongDescAttribute()
Returns the value of the attribute "longdesc". Refer to the HTML 4.01 documentation for details on the use of this attribute.

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

getHeightAttribute

public final java.lang.String getHeightAttribute()
Returns the value of the attribute "height". Refer to the HTML 4.01 documentation for details on the use of this attribute.

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

getWidthAttribute

public final java.lang.String getWidthAttribute()
Returns the value of the attribute "width". Refer to the HTML 4.01 documentation for details on the use of this attribute.

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

getUseMapAttribute

public final java.lang.String getUseMapAttribute()
Returns the value of the attribute "usemap". Refer to the HTML 4.01 documentation for details on the use of this attribute.

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

getIsmapAttribute

public final java.lang.String getIsmapAttribute()
Returns the value of the attribute "ismap". Refer to the HTML 4.01 documentation for details on the use of this attribute.

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

getAlignAttribute

public final java.lang.String getAlignAttribute()
Returns the value of the attribute "align". Refer to the HTML 4.01 documentation for details on the use of this attribute.

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

getBorderAttribute

public final java.lang.String getBorderAttribute()
Returns the value of the attribute "border". Refer to the HTML 4.01 documentation for details on the use of this attribute.

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

getHspaceAttribute

public final java.lang.String getHspaceAttribute()
Returns the value of the attribute "hspace". Refer to the HTML 4.01 documentation for details on the use of this attribute.

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

getVspaceAttribute

public final java.lang.String getVspaceAttribute()
Returns the value of the attribute "vspace". Refer to the HTML 4.01 documentation for details on the use of this attribute.

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

getHeight

public int getHeight()
              throws java.io.IOException
POTENIAL PERFORMANCE KILLER - DOWNLOADS THE IMAGE - USE AT YOUR OWN RISK.
If the image is not already downloaded it triggers a download. Then it stores the image in the HtmlImage object for later use.

Returns:
returns the real height of the image
Throws:
java.io.IOException - if an error occurs while downloading the image or reading it

getWidth

public int getWidth()
             throws java.io.IOException
POTENIAL PERFORMANCE KILLER - DOWNLOADS THE IMAGE - USE AT YOUR OWN RISK.
If the image is not already downloaded it triggers a download. Then it stores the image in the HtmlImage object for later use.

Returns:
returns the real width of the image
Throws:
java.io.IOException - if an error occurs while downloading the image or reading it

getImageReader

public javax.imageio.ImageReader getImageReader()
                                         throws java.io.IOException
POTENIAL PERFORMANCE KILLER - DOWNLOADS THE IMAGE - USE AT YOUR OWN RISK.
If the image is not already downloaded it triggers a download. Then it stores the image in the HtmlImage object for later use.

Returns:
the ImageReader representing the image from the download stream
Throws:
java.io.IOException - if an error occurs while downloading the image and if its of an unsupported content-type

getWebResponse

public WebResponse getWebResponse(boolean downloadIfNeeded)
                           throws java.io.IOException
POTENIAL PERFORMANCE KILLER - DOWNLOADS THE IMAGE - USE AT YOUR OWN RISK.
If the image is not already downloaded it triggers a download. Then it stores the image in the HtmlImage object for later use.

Parameters:
downloadIfNeeded - indicates if a request should be performed this hasn't been done previously
Returns:
null if no download should be performed and when this wasn't already done; the response received when performing a request for the image referenced by this tag otherwise
Throws:
java.io.IOException - if an error occurs while downloading the image

click

public Page click(int x,
                  int y)
           throws java.io.IOException
Simulates clicking this element at the specified position. This only makes sense for an image map (currently only server side), where the position matters. This method returns the page contained by this image's window after the click, which may or may not be the same as the original page, depending on JavaScript event handlers, etc.

Parameters:
x - the x position of the click
y - the y position of the click
Returns:
the page contained by this image's window after the click
Throws:
java.io.IOException - if an IO error occurs

click

public Page click()
           throws java.io.IOException
Simulates clicking this element at the position (0, 0). This method returns the page contained by this image's window after the click, which may or may not be the same as the original page, depending on JavaScript event handlers, etc.

Overrides:
click in class HtmlElement
Returns:
the page contained by this image's window after the click
Throws:
java.io.IOException - if an IO error occurs

doClickAction

protected Page doClickAction(Page defaultPage)
                      throws java.io.IOException
Performs the click action on the enclosing A tag (if any).

Overrides:
doClickAction in class HtmlElement
Parameters:
defaultPage - the default page to return if the action does not load a new page
Returns:
the page that is currently loaded after execution of this method
Throws:
java.io.IOException - if an IO error occurred

saveAs

public void saveAs(java.io.File file)
            throws java.io.IOException
Saves this image as the specified file.

Parameters:
file - the file to save to
Throws:
java.io.IOException - if an IO error occurs


Copyright © 2002-2011 Gargoyle Software Inc.. All Rights Reserved.