Package org.htmlunit.html

# Class HtmlImageInput

java.lang.Object
org.htmlunit.html.DomNode
org.htmlunit.html.DomNamespaceNode
org.htmlunit.html.DomElement
org.htmlunit.html.HtmlElement
org.htmlunit.html.HtmlInput
org.htmlunit.html.HtmlImageInput

All Implemented Interfaces:
  `Serializable`, `Cloneable`, `DisabledElement`, `FormFieldWithNameHistory`, `LabelableElement`, `SubmittableElement`, `ValidatableElement`, `Element`, `Node`

public class HtmlImageInput extends HtmlInput implements LabelableElement
Wrapper for the HTML element "input". HtmlUnit does not download the associated image for performance reasons.

See Also:
  - Serialized Form

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class org.htmlunit.html.HtmlElement

  `HtmlElement.DisplayStyle`

  ## Nested classes/interfaces inherited from class org.htmlunit.html.DomElement

  `DomElement.ChildElementsIterator`

  ## Nested classes/interfaces inherited from class org.htmlunit.html.DomNode

  `DomNode.ChildIterator, DomNode.DescendantDomElementsIterator, DomNode.DescendantDomNodesIterator, DomNode.DescendantElementsIterator<T extends DomNode>, DomNode.DescendantHtmlElementsIterator`

- ## Field Summary

  ### Fields inherited from class org.htmlunit.html.HtmlInput

  `TAG_NAME`

  ### Fields inherited from class org.htmlunit.html.HtmlElement

  `ATTRIBUTE_CHECKED, ATTRIBUTE_HIDDEN, ATTRIBUTE_REQUIRED, TAB_INDEX_OUT_OF_BOUNDS`

  ### Fields inherited from class org.htmlunit.html.DomElement

  `ATTRIBUTE_NOT_DEFINED, ATTRIBUTE_VALUE_EMPTY, ID_ATTRIBUTE, NAME_ATTRIBUTE, SRC_ATTRIBUTE, TYPE_ATTRIBUTE, VALUE_ATTRIBUTE`

  ### Fields inherited from class org.htmlunit.html.DomNode

  `PROPERTY_ELEMENT, READY_STATE_COMPLETE, READY_STATE_INTERACTIVE, READY_STATE_LOADED, READY_STATE_LOADING, READY_STATE_UNINITIALIZED`

  ### Fields inherited from interface org.htmlunit.html.DisabledElement

  `ATTRIBUTE_DISABLED`

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

  Modifier and Type
  Method
  Description
  `Page`
  `click()`
  Submit the form that contains this input.
  `<P extends Page>
  P`
  `click(int x, int y)`
  Simulate clicking this input with a pointing device.
  `<P extends Page>
  P`
  `click(org.htmlunit.javascript.host.event.Event event, boolean shiftKey, boolean ctrlKey, boolean altKey, boolean ignoreVisibility)`
  INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
  Simulates clicking on this element, returning the page in the window that has the focus after the element has been clicked.
  `protected boolean`
  `doClickStateUpdate(boolean shiftKey, boolean ctrlKey)`
  This method implements the control state update part of the click action.
  `NameValuePair[]`
  `getSubmitNameValuePairs()`
  Returns an array of `NameValuePair`s that are the values that will be sent back to the server whenever this element's containing form is submitted.
  `protected boolean`
  `isRequiredSupported()`
  Returns whether this element supports the `required` constraint.
  `void`
  `saveAs(File file)`
  Saves this image as the specified file.
  `void`
  `setDefaultChecked(boolean defaultChecked)`
  Sets the default checked state to use when this element gets reset, if applicable.
  `void`
  `setDefaultValue(String defaultValue)`
  Sets the default value to use when this element gets reset, if applicable.
  `void`
  `setSrcAttribute(String src)`
  Sets the `src` attribute.
  `void`
  `setValue(String newValue)`
  Sets the value.

  ### Methods inherited from class org.htmlunit.html.HtmlInput

  `adjustValueAfterTypeChange, changeType, cloneNode, focus, getAccept, getAcceptAttribute, getAccessKeyAttribute, getAlignAttribute, getAltAttribute, getAutocomplete, getCheckedAttribute, getDefaultStyleDisplay, getDefaultValue, getDisabledAttribute, getInternalValue, getMax, getMaxLength, getMaxLengthAttribute, getMin, getMinLength, getMinLengthAttribute, getNameAttribute, getNewNames, getOnBlurAttribute, getOnChangeAttribute, getOnFocusAttribute, getOnSelectAttribute, getOriginalName, getPattern, getPlaceholder, getRawValue, getReadOnlyAttribute, getSize, getSizeAttribute, getSrc, getSrcAttribute, getStep, getTabIndexAttribute, getType, getTypeAttribute, getUseMapAttribute, getValue, getValueAttribute, handles, hasPatternMismatchValidityState, isBlankPatternValidated, isCheckable, isChecked, isCustomErrorValidityState, isCustomValidityValid, isDefaultChecked, isDisabled, isFormNoValidate, isMinMaxLengthSupported, isPatternSupported, isReadOnly, isSubmitable, isTooShortValidityState, isValid, isValidValidityState, isValueMissingValidityState, markValueDirty, propagateClickStateUpdateToParent, removeFocus, reset, setAccept, setAttributeNS, setAutocomplete, setChecked, setCustomValidity, setFormNoValidate, setMax, setMaxLength, setMin, setMinLength, setPattern, setPlaceholder, setRawValue, setReadOnly, setSize, setStep, setValueAttribute, unmarkValueDirty, valueAttributeChanged, valueModifiedByJavascript, willValidate`

  ### Methods inherited from class org.htmlunit.html.HtmlElement

  `acceptChar, addHtmlAttributeChangeListener, appendChildIfNoneExists, checkChildHierarchy, detach, doType, doType, fireHtmlAttributeAdded, fireHtmlAttributeRemoved, fireHtmlAttributeReplaced, getCanonicalXPath, getElementsByAttribute, getEnclosingElement, getEnclosingForm, getEnclosingFormOrDie, getLangAttribute, getNodeName, getOnClickAttribute, getOnDblClickAttribute, getOneHtmlElementByAttribute, getOnKeyDownAttribute, getOnKeyPressAttribute, getOnKeyUpAttribute, getOnMouseDownAttribute, getOnMouseMoveAttribute, getOnMouseOutAttribute, getOnMouseOverAttribute, getOnMouseUpAttribute, getSrcAttributeNormalized, getTabIndex, getTextDirectionAttribute, getXmlLangAttribute, hasEventHandlers, isAltPressed, isAttributeCaseSensitive, isCtrlPressed, isDisplayed, isHidden, isOptional, isRequired, isShiftPressed, isSubmittableByEnter, notifyAttributeChangeListeners, removeAttribute, removeChild, removeHtmlAttributeChangeListener, setAttributeNode, setHidden, setHidden, setOwningForm, setRequired, type, type, type, type, typeDone`

  ### Methods inherited from class org.htmlunit.html.DomElement

  `blur, click, click, click, dblClick, dblClick, doClickFireChangeEvent, doClickFireClickEvent, fireEvent, fireEvent, getAttribute, getAttributeDirect, getAttributeNode, getAttributeNodeNS, getAttributeNS, getAttributes, getAttributesMap, getChildElementCount, getChildElements, getElementsByTagName, getElementsByTagNameNS, getEventTargetElement, getFirstElementChild, getId, getLastElementChild, getNodeType, getSchemaTypeInfo, getStaticElementsByTagName, getStyleElement, getStyleElementCaseInSensitive, getStyleMap, getTagName, hasAttribute, hasAttributeNS, hasAttributes, isDisabledElementAndDisabled, isEmptyXmlTagExpanded, isMouseOver, isStateUpdateFirst, matches, mouseDown, mouseDown, mouseMove, mouseMove, mouseOut, mouseOut, mouseOver, mouseOver, mouseUp, mouseUp, preventDefault, printOpeningTagContentAsXml, printXml, removeAttributeNode, removeAttributeNS, removeStyleAttribute, replaceStyleAttribute, rightClick, rightClick, setAttribute, setAttributeNodeNS, setAttributeNS, setDefaults, setId, setIdAttribute, setIdAttributeNode, setIdAttributeNS, setInnerHtml, setNodeValue, toString, writeStyleToElement`

  ### Methods inherited from class org.htmlunit.html.DomNamespaceNode

  `getLocalName, getLowercaseName, getNamespaceURI, getPrefix, getQualifiedName, processImportNode, setPrefix`

  ### Methods inherited from class org.htmlunit.html.DomNode

  `addCharacterDataChangeListener, addDomChangeListener, appendChild, asNormalizedText, asXml, basicRemove, closest, compareDocumentPosition, fireCharacterDataChanged, fireNodeAdded, fireNodeDeleted, getAncestors, getBaseURI, getByXPath, getByXPath, getChildNodes, getChildren, getDescendants, getDomElementDescendants, getEndColumnNumber, getEndLineNumber, getFeature, getFirstByXPath, getFirstByXPath, getFirstChild, getHtmlElementDescendants, getHtmlPageOrNull, getIndex, getLastChild, getNextElementSibling, getNextSibling, getNodeValue, getOwnerDocument, getPage, getParentNode, getPreviousElementSibling, getPreviousSibling, getReadyState, getScriptableObject, getSelectorList, getStartColumnNumber, getStartLineNumber, getTextContent, getUserData, getVisibleText, hasChildNodes, hasFeature, insertBefore, insertBefore, isAncestorOf, isAncestorOfAny, isAttachedToPage, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, mayBeDisplayed, normalize, notifyIncorrectness, onAddedToDocumentFragment, onAddedToPage, onAllChildrenAddedToPage, parseHtmlSnippet, printChildrenAsXml, querySelector, querySelectorAll, quietlyRemoveAndMoveChildrenTo, remove, removeAllChildren, removeCharacterDataChangeListener, removeChild, removeDomChangeListener, replace, replaceChild, setEndLocation, setParentNode, setReadyState, setScriptableObject, setStartLocation, 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, setPrefix, setTextContent, setUserData`

  ### Methods inherited from interface org.htmlunit.html.ValidatableElement

  `hasBadInputValidityState, hasRangeOverflowValidityState, hasRangeUnderflowValidityState, hasTypeMismatchValidityState, isStepMismatchValidityState, isTooLongValidityState`

- ## Method Details

  - ### getSubmitNameValuePairs

    public NameValuePair[] getSubmitNameValuePairs()

    Returns an array of `NameValuePair`s that are the values that will be sent back to the server whenever this element's containing form is submitted.

    THIS METHOD IS INTENDED FOR THE USE OF THE FRAMEWORK ONLY AND SHOULD NOT BE USED BY CONSUMERS OF HTMLUNIT. USE AT YOUR OWN RISK.

    Specified by:
      `getSubmitNameValuePairs` in interface `SubmittableElement`
    Overrides:
      `getSubmitNameValuePairs` in class `HtmlInput`
    Returns:
      the values that will be sent back to the server whenever this element's containing form is submitted

  - ### click

    public Page click() throws IOException
    Submit the form that contains this input. Only a couple of the inputs support this method so it is made protected here. Those subclasses that wish to expose it will override and make it public.
    Overrides:
      `click` in class `DomElement`
    Returns:
      the Page that is the result of submitting this page to the server
    Throws:
      `IOException` - If an IO error occurs

  - ### doClickStateUpdate

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

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

    Overrides:
      `doClickStateUpdate` in class `DomElement`
    Parameters:
      `shiftKey` - `true` if SHIFT is pressed
      `ctrlKey` - `true` if CTRL is pressed
    Returns:
      true if doClickFireEvent method has to be called later on (to signal, that the value was changed)
    Throws:
      `IOException` - if an IO error occurred

  - ### click

    public <P extends Page> P click(int x, int y) throws IOException, ElementNotFoundException
    Simulate clicking this input with a pointing device. The x and y coordinates of the pointing device will be sent to the server.
    Type Parameters:
      `P` - the page type
    Parameters:
      `x` - the x coordinate of the pointing device at the time of clicking
      `y` - the y coordinate of the pointing device at the time of clicking
    Returns:
      the page that is loaded after the click has taken place
    Throws:
      `IOException` - If an IO error occurs
      `ElementNotFoundException` - If a particular XML element could not be found in the DOM model

  - ### click

    public <P extends Page> P click(org.htmlunit.javascript.host.event.Event event, boolean shiftKey, boolean ctrlKey, boolean altKey, boolean ignoreVisibility) throws IOException
    INTERNAL API - SUBJECT TO CHANGE AT ANY TIME - USE AT YOUR OWN RISK.
    Simulates clicking on this element, returning the page in the window that has the focus after the element has been clicked. Note that the returned page may or may not be the same as the original page, depending on the type of element being clicked, the presence of JavaScript action listeners, etc.
    Overrides:
      `click` in class `DomElement`
    Type Parameters:
      `P` - the page type
    Parameters:
      `event` - the click event used
      `shiftKey` - `true` if SHIFT is pressed during the click
      `ctrlKey` - `true` if CTRL is pressed during the click
      `altKey` - `true` if ALT is pressed during the click
      `ignoreVisibility` - whether to ignore visibility or not
    Returns:
      the page contained in the current window as returned by `WebClient.getCurrentWindow()`
    Throws:
      `IOException` - if an IO error occurs

  - ### setValue

    public void setValue(String newValue)
    Sets the value.
    Overrides:
      `setValue` in class `HtmlInput`
    Parameters:
      `newValue` - the new value

  - ### setDefaultChecked

    public void setDefaultChecked(boolean defaultChecked)
    Sets the default checked state to use when this element gets reset, if applicable. The default implementation is empty; only checkboxes and radio buttons really care what the default checked value is.
    Specified by:
      `setDefaultChecked` in interface `SubmittableElement`
    Parameters:
      `defaultChecked` - the default checked state to use when this element gets reset, if applicable
    See Also:
      - `SubmittableElement.setDefaultChecked(boolean)`
      - `HtmlRadioButtonInput.setDefaultChecked(boolean)`
      - `HtmlCheckBoxInput.setDefaultChecked(boolean)`

  - ### setDefaultValue

    public void setDefaultValue(String defaultValue)
    Sets the default value to use when this element gets reset, if applicable. Also sets the value to the new default value.
    Specified by:
      `setDefaultValue` in interface `SubmittableElement`
    Overrides:
      `setDefaultValue` in class `HtmlInput`
    Parameters:
      `defaultValue` - the default value to use when this element gets reset, if applicable
    See Also:
      - `SubmittableElement.setDefaultValue(String)`

  - ### isRequiredSupported

    protected boolean isRequiredSupported()
    Returns whether this element supports the `required` constraint.
    Overrides:
      `isRequiredSupported` in class `HtmlInput`
    Returns:
      whether this element supports the `required` constraint

  - ### setSrcAttribute

    public void setSrcAttribute(String src)
    Sets the `src` attribute.
    Overrides:
      `setSrcAttribute` in class `HtmlInput`
    Parameters:
      `src` - the `src` attribute

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