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.HtmlImage
All Implemented Interfaces:
Serializable, Cloneable, Element, Node

public class HtmlImage
extends HtmlElement

Wrapper for the HTML element "img".

Version:
$Revision: 5805 $
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<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
 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  void doClickAction()
          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.
 String getAlignAttribute()
          Returns the value of the attribute "align".
 String getAltAttribute()
          Returns the value of the attribute "alt".
 String getBorderAttribute()
          Returns the value of the attribute "border".
 int getHeight()
          Returns the image's actual height (not the image's height attribute).
 String getHeightAttribute()
          Returns the value of the attribute "height".
 String getHspaceAttribute()
          Returns the value of the attribute "hspace".
 ImageReader getImageReader()
          Returns the ImageReader which can be used to read the image contained by this image element.
 String getIsmapAttribute()
          Returns the value of the attribute "ismap".
 String getLongDescAttribute()
          Returns the value of the attribute "longdesc".
 String getNameAttribute()
          Returns the value of the attribute "name".
 String getSrcAttribute()
          Returns the value of the attribute "src".
 String getUseMapAttribute()
          Returns the value of the attribute "usemap".
 String getVspaceAttribute()
          Returns the value of the attribute "vspace".
 WebResponse getWebResponse(boolean downloadIfNeeded)
          Returns the WebResponse for the image contained by this image element.
 int getWidth()
          Returns the image's actual width (not the image's width attribute).
 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(File file)
          Saves this image as the specified file.
 void setAttributeNS(String namespaceURI, String qualifiedName, String value)
          Sets the value of the specified attribute.
 
Methods inherited from class com.gargoylesoftware.htmlunit.html.HtmlElement
addHtmlAttributeChangeListener, appendChildIfNoneExists, blur, checkChildHierarchy, click, click, dblClick, dblClick, doType, fireEvent, fireEvent, fireHtmlAttributeAdded, fireHtmlAttributeRemoved, fireHtmlAttributeReplaced, focus, getCanonicalXPath, getChildElements, getElementById, getElementsByAttribute, getEnclosingElement, getEnclosingForm, getEnclosingFormOrDie, getEventTargetElement, getHtmlElementsByTagName, getHtmlElementsByTagNames, getId, getLangAttribute, getNodeName, getOnClickAttribute, getOnDblClickAttribute, getOneHtmlElementByAttribute, getOnKeyDownAttribute, getOnKeyPressAttribute, getOnKeyUpAttribute, getOnMouseDownAttribute, getOnMouseMoveAttribute, getOnMouseOutAttribute, getOnMouseOverAttribute, getOnMouseUpAttribute, getTabIndex, getTextDirectionAttribute, getXmlLangAttribute, hasEventHandlers, hasHtmlElementWithId, isAttributeCaseSensitive, isStateUpdateFirst, isSubmittableByEnter, mouseDown, mouseDown, mouseMove, mouseMove, mouseOut, mouseOut, mouseOver, mouseOver, mouseUp, mouseUp, preventDefault, removeAttribute, removeChild, removeEventHandler, removeHtmlAttributeChangeListener, rightClick, rightClick, 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, getChildNodes, getChildren, getDescendants, getEndColumnNumber, getEndLineNumber, getFeature, getFirstByXPath, getFirstChild, getHtmlElementDescendants, getIndex, getLastChild, getNextSibling, getNodeValue, getOwnerDocument, getPage, getParentNode, getPreviousSibling, getReadyState, getScriptObject, getStartColumnNumber, getStartLineNumber, getTextContent, getUserData, hasChildNodes, insertBefore, insertBefore, isAncestorOf, isAncestorOfAny, isBlock, isDefaultNamespace, isDisplayed, isEqualNode, isSameNode, isSupported, isTrimmedText, lookupNamespaceURI, lookupPrefix, mayBeDisplayed, normalize, notifyIncorrectness, 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

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

setAttributeNS

public void setAttributeNS(String namespaceURI,
                           String qualifiedName,
                           String value)
Sets the value of the specified attribute. This method may be overridden by subclasses which are interested in specific attribute value changes, but such methods must invoke super.setAttributeValue(), and should consider the value of the cloning parameter when deciding whether or not to execute custom logic.

Specified by:
setAttributeNS in interface Element
Overrides:
setAttributeNS in class HtmlElement
Parameters:
namespaceURI - the URI that identifies an XML namespace
qualifiedName - the qualified name of the attribute
value - the value of the attribute

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 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 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 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 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 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 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 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 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 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 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 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 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 IOException

Returns the image's actual height (not the image's height attribute).

POTENTIAL PERFORMANCE KILLER - DOWNLOADS THE IMAGE - USE AT YOUR OWN RISK

If the image has not already been downloaded, this method triggers a download and caches the image.

Returns:
the image's actual height
Throws:
IOException - if an error occurs while downloading or reading the image

getWidth

public int getWidth()
             throws IOException

Returns the image's actual width (not the image's width attribute).

POTENTIAL PERFORMANCE KILLER - DOWNLOADS THE IMAGE - USE AT YOUR OWN RISK

If the image has not already been downloaded, this method triggers a download and caches the image.

Returns:
the image's actual width
Throws:
IOException - if an error occurs while downloading or reading the image

getImageReader

public ImageReader getImageReader()
                           throws IOException

Returns the ImageReader which can be used to read the image contained by this image element.

POTENTIAL PERFORMANCE KILLER - DOWNLOADS THE IMAGE - USE AT YOUR OWN RISK

If the image has not already been downloaded, this method triggers a download and caches the image.

Returns:
the ImageReader which can be used to read the image contained by this image element
Throws:
IOException - if an error occurs while downloading or reading the image

getWebResponse

public WebResponse getWebResponse(boolean downloadIfNeeded)
                           throws IOException

Returns the WebResponse for the image contained by this image element.

POTENTIAL PERFORMANCE KILLER - DOWNLOADS THE IMAGE - USE AT YOUR OWN RISK

If the image has not already been downloaded and downloadIfNeeded is true, this method triggers a download and caches the image.

Parameters:
downloadIfNeeded - whether or not the image should be downloaded (if it hasn't already been downloaded)
Returns:
null if no download should be performed and one hasn't already been triggered; otherwise, the response received when performing a request for the image referenced by this element
Throws:
IOException - if an error occurs while downloading the image

click

public Page click(int x,
                  int y)
           throws 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:
IOException - if an IO error occurs

click

public Page click()
           throws 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:
IOException - if an IO error occurs

doClickAction

protected void doClickAction()
                      throws IOException
Performs the click action on the enclosing A tag (if any).

Overrides:
doClickAction in class HtmlElement
Throws:
IOException - if an IO error occurred

saveAs

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

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


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