Package org.htmlunit.html

# Class HtmlCheckBoxInput

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.HtmlCheckBoxInput

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

public class HtmlCheckBoxInput extends HtmlInput implements LabelableElement
Wrapper for the HTML element "input".

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
  `protected void`
  `doClickFireChangeEvent()`
  This method implements the control onchange handler call during the click action.
  `protected boolean`
  `doClickStateUpdate(boolean shiftKey, boolean ctrlKey)`
  This method implements the control state update part of the click action.
  `protected Object`
  `getInternalValue()`
  `boolean`
  `isChecked()`
  Returns `true` if this element is currently selected.
  `boolean`
  `isDefaultChecked()`
  Returns the default checked state to use when this element gets reset, if applicable.
  `protected boolean`
  `isStateUpdateFirst()`
  First update the internal state of checkbox and then handle "onclick" event.
  `boolean`
  `isValueMissingValidityState()`
  `protected void`
  `preventDefault()`
  This method is called if the current fired event is canceled by `preventDefault()`.
  `protected boolean`
  `propagateClickStateUpdateToParent()`
  `void`
  `reset()`
  Returns the value of this element to the default value or checked state (usually what it was at the time the page was loaded, unless it has been modified via JavaScript).
  `protected void`
  `setAttributeNS(String namespaceURI, String qualifiedName, String attributeValue, boolean notifyAttributeChangeListeners, boolean notifyMutationObservers)`
  Sets the value of the attribute specified by namespace and qualified name.
  `Page`
  `setChecked(boolean isChecked)`
  Sets the `checked` attribute, returning the page that occupies this input's window after setting the attribute.
  `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`
  `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, getMax, getMaxLength, getMaxLengthAttribute, getMin, getMinLength, getMinLengthAttribute, getNameAttribute, getNewNames, getOnBlurAttribute, getOnChangeAttribute, getOnFocusAttribute, getOnSelectAttribute, getOriginalName, getPattern, getPlaceholder, getRawValue, getReadOnlyAttribute, getSize, getSizeAttribute, getSrc, getSrcAttribute, getStep, getSubmitNameValuePairs, getTabIndexAttribute, getType, getTypeAttribute, getUseMapAttribute, getValue, getValueAttribute, handles, hasPatternMismatchValidityState, isBlankPatternValidated, isCheckable, isCustomErrorValidityState, isCustomValidityValid, isDisabled, isFormNoValidate, isMinMaxLengthSupported, isPatternSupported, isReadOnly, isRequiredSupported, isSubmitable, isTooShortValidityState, isValid, isValidValidityState, markValueDirty, removeFocus, setAccept, setAutocomplete, setCustomValidity, setFormNoValidate, setMax, setMaxLength, setMin, setMinLength, setPattern, setPlaceholder, setRawValue, setReadOnly, setSize, setSrcAttribute, 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, click, click, dblClick, dblClick, 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, matches, mouseDown, mouseDown, mouseMove, mouseMove, mouseOut, mouseOut, mouseOver, mouseOver, mouseUp, mouseUp, 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

  - ### isChecked

    public boolean isChecked()
    Returns `true` if this element is currently selected.
    Overrides:
      `isChecked` in class `HtmlInput`
    Returns:
      `true` if this element is currently selected

  - ### reset

    public void reset()
    Returns the value of this element to the default value or checked state (usually what it was at the time the page was loaded, unless it has been modified via JavaScript).
    Specified by:
      `reset` in interface `SubmittableElement`
    Overrides:
      `reset` in class `HtmlInput`
    See Also:
      - `SubmittableElement.reset()`

  - ### setChecked

    public Page setChecked(boolean isChecked)
    Sets the `checked` attribute, returning the page that occupies this input's window after setting the attribute. Note that the returned page may or may not be the original page, depending on the presence of JavaScript event handlers, etc.
    Overrides:
      `setChecked` in class `HtmlInput`
    Parameters:
      `isChecked` - `true` if this element is to be selected
    Returns:
      the page that occupies this input's window after setting the attribute

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

  - ### doClickFireChangeEvent

    protected void doClickFireChangeEvent()
    This method implements the control onchange handler call during the click action.
    Overrides:
      `doClickFireChangeEvent` in class `DomElement`

  - ### isStateUpdateFirst

    protected boolean isStateUpdateFirst()
    First update the internal state of checkbox and then handle "onclick" event. Returns `true` if state updates should be done before onclick event handling. This method returns `false` by default, and is expected to be overridden to return `true` by derived classes like `HtmlCheckBoxInput`.
    Overrides:
      `isStateUpdateFirst` in class `DomElement`
    Returns:
      `true` if state updates should be done before onclick event handling

  - ### preventDefault

    protected void preventDefault()
    This method is called if the current fired event is canceled by `preventDefault()`.

    The default implementation does nothing.

    Overrides:
      `preventDefault` in class `DomElement`

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

  - ### setValue

    public void setValue(String newValue)
    Sets the value. Also sets the default 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)`

  - ### isDefaultChecked

    public boolean isDefaultChecked()
    Returns the default checked state to use when this element gets reset, if applicable. The default implementation returns `false`; only checkboxes and radio buttons really care what the default checked value is.
    Specified by:
      `isDefaultChecked` in interface `SubmittableElement`
    Overrides:
      `isDefaultChecked` in class `HtmlInput`
    Returns:
      the default checked state to use when this element gets reset, if applicable
    See Also:
      - `SubmittableElement.isDefaultChecked()`

  - ### getInternalValue

    protected Object getInternalValue()
    Overrides:
      `getInternalValue` in class `HtmlInput`
    Returns:
      returns the raw value

  - ### setAttributeNS

    protected void setAttributeNS(String namespaceURI, String qualifiedName, String attributeValue, boolean notifyAttributeChangeListeners, boolean notifyMutationObservers)
    Sets the value of the attribute specified by namespace and qualified name.
    Overrides:
      `setAttributeNS` in class `HtmlInput`
    Parameters:
      `namespaceURI` - the URI that identifies an XML namespace
      `qualifiedName` - the qualified name (prefix:local) of the attribute
      `attributeValue` - the value of the attribute
      `notifyAttributeChangeListeners` - to notify the associated `HtmlAttributeChangeListener`s
      `notifyMutationObservers` - to notify `MutationObserver`s or not

  - ### propagateClickStateUpdateToParent

    protected boolean propagateClickStateUpdateToParent()
    Overrides:
      `propagateClickStateUpdateToParent` in class `HtmlInput`
    Returns:
      true or false
    See Also:
      - `Usually the click is propagated to the parent. Overwrite if you like to disable this.`

  - ### isValueMissingValidityState

    public boolean isValueMissingValidityState()
    Specified by:
      `isValueMissingValidityState` in interface `ValidatableElement`
    Overrides:
      `isValueMissingValidityState` in class `HtmlInput`
    Returns:
      true if the element has a required attribute, but no value, or false otherwise. If true, the element matches the :invalid CSS pseudo-class.