# Class DefaultHTMLCallback

java.lang.Object
com.codename1.ui.html.DefaultHTMLCallback

All Implemented Interfaces:
  `HTMLCallback, ParserCallback`

public class DefaultHTMLCallback extends Object implements HTMLCallback

This is a default implementation of HTMLCallback that basically doesn't do much but does keep the HTMLComponent work intact. This class was created so developers will avoid pitfalls of HTMLCallback, as using the wrong return values.

Note that in any case an HTMLComponent doesn't have to use an HTMLCallback.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `ERROR_CSS_ATTIBUTE_VALUE_INVALID`
  Error code denoting that an invalid attribute value was found in the CSS
  `static final int`
  `ERROR_CSS_ATTRIBUTE_NOT_SUPPORTED`
  Error code denoting that an unsupported CSS attribute (by XHTML-MP 1.0 standards) was found in the HTML or external CSS files
  `static final int`
  `ERROR_CSS_NO_BASE_URL`
  Error code denoting that a relative URL was referenced from a document with no base URL (A document that was loaded via setBody/setHTML/setDOM and not via setPage) In this case the return value of parsingError is not considered - parsing continues and the resource at the URL (CSS file/image) is ignored
  `static final int`
  `ERROR_CSS_NOT_FOUND`
  Error code denoting that a CSS file referenced from the HTML or from another external CSS file was not found

  ### Fields inherited from interface HTMLCallback

  `ERROR_CONNECTING, ERROR_IMAGE_BAD_FORMAT, ERROR_IMAGE_NOT_FOUND, ERROR_INVALID_TAG_HIERARCHY, ERROR_NO_BASE_URL, FIELD_PASSWORD, FIELD_TEXT, LINK_FORBIDDEN, LINK_REGULAR, LINK_VISTED, STATUS_CANCELLED, STATUS_COMPLETED, STATUS_CONNECTED, STATUS_DISPLAYED, STATUS_ERROR, STATUS_NONE, STATUS_PARSED, STATUS_REDIRECTED, STATUS_REQUESTED`

  ### Fields inherited from interface ParserCallback

  `ERROR_ATTIBUTE_VALUE_INVALID, ERROR_ATTRIBUTE_NOT_SUPPORTED, ERROR_ENCODING, ERROR_MULTIPLE_ROOTS, ERROR_NO_CLOSE_TAG, ERROR_NO_ROOTS, ERROR_TAG_NOT_SUPPORTED, ERROR_UNEXPECTED_CHARACTER, ERROR_UNEXPECTED_TAG_CLOSING, ERROR_UNRECOGNIZED_CHAR_ENTITY`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DefaultHTMLCallback()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `actionPerformed(ActionEvent evt, HTMLComponent htmlC, HTMLElement element)`
  {Called whenever an ActionEvent is triggered in one of the controls in the HTMLComponent For example, button press, checkbox/radiobutton check etc.
  `void`
  `dataChanged(int type, int index, HTMLComponent htmlC, TextField textField, HTMLElement element)`
  {Called when the user types in a TextField inside the HTMLComponent This method will be called only if HTMLComponent.isEventsEnabled() is true
  `String`
  `fieldSubmitted(HTMLComponent htmlC, TextArea ta, String actionURL, String id, String value, int type, String errorMsg)`
  {Called whenever a field is submitted to a form.
  `void`
  `focusGained(Component cmp, HTMLComponent htmlC, HTMLElement element)`
  {Called when one of the controls in the HTMLComponent obtained focus This method will be called only if HTMLComponent.isEventsEnabled() is true
  `void`
  `focusLost(Component cmp, HTMLComponent htmlC, HTMLElement element)`
  {Called when one of the controls in the HTMLComponent lost focus This method will be called only if HTMLComponent.isEventsEnabled() is true
  `String`
  `getAutoComplete(HTMLComponent htmlC, String actionURL, String id)`
  {Called on form creation and enabled implementations of this method to return a value to preset in a form field.
  `int`
  `getLinkProperties(HTMLComponent htmlC, String url)`
  {Returns properties about the given link to indicate to HTMLComponent how to render it Note that this method is always called NOT on the EDT thread.
  `boolean`
  `linkClicked(HTMLComponent htmlC, String url)`
  {Called when a link is clicked.
  `void`
  `pageStatusChanged(HTMLComponent htmlC, int status, String url)`
  {Called when the page status has been changed
  `boolean`
  `parsingError(int errorId, String tag, String attribute, String value, String description)`
  {Called when encountering an error while parsing the XML document.
  `void`
  `selectionChanged(int oldSelected, int newSelected, HTMLComponent htmlC, List list, HTMLElement element)`
  {Called when the user selects an item in a List inside the HTMLComponent Note: Selection is traversing through the items - once the user has actually decided, an ActionEvent will be sent as well This method will be called only if HTMLComponent.isEventsEnabled() is true
  `void`
  `titleUpdated(HTMLComponent htmlC, String title)`
  {Called when the page's title is updated

  ### Methods inherited from class Object

  `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### ERROR_CSS_ATTRIBUTE_NOT_SUPPORTED

    static final int ERROR_CSS_ATTRIBUTE_NOT_SUPPORTED
    Error code denoting that an unsupported CSS attribute (by XHTML-MP 1.0 standards) was found in the HTML or external CSS files
    See Also:
      - Constant Field Values

  - ### ERROR_CSS_ATTIBUTE_VALUE_INVALID

    static final int ERROR_CSS_ATTIBUTE_VALUE_INVALID
    Error code denoting that an invalid attribute value was found in the CSS
    See Also:
      - Constant Field Values

  - ### ERROR_CSS_NOT_FOUND

    static final int ERROR_CSS_NOT_FOUND
    Error code denoting that a CSS file referenced from the HTML or from another external CSS file was not found
    See Also:
      - Constant Field Values

  - ### ERROR_CSS_NO_BASE_URL

    static final int ERROR_CSS_NO_BASE_URL
    Error code denoting that a relative URL was referenced from a document with no base URL (A document that was loaded via setBody/setHTML/setDOM and not via setPage) In this case the return value of parsingError is not considered - parsing continues and the resource at the URL (CSS file/image) is ignored
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### DefaultHTMLCallback

    public DefaultHTMLCallback()

- ## Method Details

  - ### titleUpdated

    public void titleUpdated(HTMLComponent htmlC, String title)

    {

    Called when the page's title is updated

    ###### Parameters

    - `htmlC`: The HTMLComponent that triggered the event

    - `title`: The new title

    }
    Specified by:
      `titleUpdated` in interface `HTMLCallback`

  - ### parsingError

    public boolean parsingError(int errorId, String tag, String attribute, String value, String description)

    {

    Called when encountering an error while parsing the XML document. When implementing this, the developer should return true if the error should be ignored and the document needs to be further parsed, or false to stop parsing and issue an error to the user Note that this method is always called NOT on the EDT thread.

    ###### Parameters

    - `errorId`: The error ID, one of the ERROR_* constants

    - `tag`: The tag in which the error occured (Can be null for non-tag related errors)

    - `attribute`: The attribute in which the error occured (Can be null for non-attribute related errors)

    - `value`: The value in which the error occured (Can be null for non-value related errors)

    - `description`: A verbal description of the error

    ###### Returns

    true to continue parsing, false to stop

    }
    Specified by:
      `parsingError` in interface `ParserCallback`

  - ### pageStatusChanged

    public void pageStatusChanged(HTMLComponent htmlC, int status, String url)

    {

    Called when the page status has been changed

    ###### Parameters

    - `htmlC`: The HTMLComponent in which the status change occured

    - `status`: The new status, one of the STATUS_* constants

    - `url`: The URL of the page

    }
    Specified by:
      `pageStatusChanged` in interface `HTMLCallback`

  - ### fieldSubmitted

    public String fieldSubmitted(HTMLComponent htmlC, TextArea ta, String actionURL, String id, String value, int type, String errorMsg)

    {

    Called whenever a field is submitted to a form. This can be used to perform sanity checks and/or to store values for auto complete.

    ###### Parameters

    - `htmlC`: The HTMLComponent in which this event occured

    - `ta`: The TextArea/TextField of this field

    - `actionURL`: The action URL of the form

    - `id`: The ID of the field

    - `value`: The value entered

    - `type`: The type of the field, one of the FIELD_* constants

    - `errorMsg`: The error message if any error occured (i.e. input validation error) or null if no error occured

    ###### Returns

    The string to submit to the form (Should return value if nothing changed)

    }
    Specified by:
      `fieldSubmitted` in interface `HTMLCallback`

  - ### getAutoComplete

    public String getAutoComplete(HTMLComponent htmlC, String actionURL, String id)

    {

    Called on form creation and enabled implementations of this method to return a value to preset in a form field. This can be used to auto complete previously entered value Note that this method is always called NOT on the EDT thread.

    ###### Parameters

    - `htmlC`: The HTMLComponent in which this event occured

    - `actionURL`: The action URL of the form

    - `id`: The ID of the field

    ###### Returns

    The string to place in the indicated field

    }
    Specified by:
      `getAutoComplete` in interface `HTMLCallback`

  - ### getLinkProperties

    public int getLinkProperties(HTMLComponent htmlC, String url)

    {

    Returns properties about the given link to indicate to HTMLComponent how to render it Note that this method is always called NOT on the EDT thread.

    ###### Parameters

    - `htmlC`: The HTMLComponent

    - `url`: The Link URL

    ###### Returns

    LINK_REGULAR or LINK_VISITED or LINK_FORBIDDEN or a mask of those

    }
    Specified by:
      `getLinkProperties` in interface `HTMLCallback`

  - ### linkClicked

    public boolean linkClicked(HTMLComponent htmlC, String url)

    {

    Called when a link is clicked. This can be used to process links that needs additional/alternate handling than fetching an HTML.

    ###### Parameters

    - `htmlC`: The HTMLComponent

    - `url`: The Link URL

    ###### Returns

    true if regular link processing should continue, false otherwise

    }
    Specified by:
      `linkClicked` in interface `HTMLCallback`

  - ### actionPerformed

    public void actionPerformed(ActionEvent evt, HTMLComponent htmlC, HTMLElement element)

    {

    Called whenever an ActionEvent is triggered in one of the controls in the HTMLComponent For example, button press, checkbox/radiobutton check etc. This method will be called only if HTMLComponent.isEventsEnabled() is true

    ###### Parameters

    - `evt`: The event triggered, the component can be extracted using getSource

    - `htmlC`: The HTMLComponent

    - `element`: The element associated with the component that triggered the event

    }
    Specified by:
      `actionPerformed` in interface `HTMLCallback`

  - ### focusGained

    public void focusGained(Component cmp, HTMLComponent htmlC, HTMLElement element)

    {

    Called when one of the controls in the HTMLComponent obtained focus This method will be called only if HTMLComponent.isEventsEnabled() is true

    ###### Parameters

    - `cmp`: The component that triggered the event

    - `htmlC`: The HTMLComponent

    - `element`: The element associated with the component that triggered the event

    }
    Specified by:
      `focusGained` in interface `HTMLCallback`

  - ### focusLost

    public void focusLost(Component cmp, HTMLComponent htmlC, HTMLElement element)

    {

    Called when one of the controls in the HTMLComponent lost focus This method will be called only if HTMLComponent.isEventsEnabled() is true

    ###### Parameters

    - `cmp`: The component that triggered the event

    - `htmlC`: The HTMLComponent

    - `element`: The element associated with the component that triggered the event

    }
    Specified by:
      `focusLost` in interface `HTMLCallback`

  - ### selectionChanged

    public void selectionChanged(int oldSelected, int newSelected, HTMLComponent htmlC, List list, HTMLElement element)

    {

    Called when the user selects an item in a List inside the HTMLComponent Note: Selection is traversing through the items - once the user has actually decided, an ActionEvent will be sent as well This method will be called only if HTMLComponent.isEventsEnabled() is true

    ###### Parameters

    - `oldSelected`: old selected index in list model

    - `newSelected`: new selected index in list model

    - `htmlC`: The HTMLComponent

    - `list`: The list that triggered the event (Usually a ComboBox but not always)

    - `element`: The element associated with the component that triggered the event (Should be TAG_SELECT)

    }
    Specified by:
      `selectionChanged` in interface `HTMLCallback`

  - ### dataChanged

    public void dataChanged(int type, int index, HTMLComponent htmlC, TextField textField, HTMLElement element)

    {

    Called when the user types in a TextField inside the HTMLComponent This method will be called only if HTMLComponent.isEventsEnabled() is true

    ###### Parameters

    - `type`: the type data change; REMOVED, ADDED or CHANGED

    - `index`: item index in a list model

    - `htmlC`: The HTMLComponent

    - `textField`: The TextField that triggerd the event

    - `element`: The element associated with the component that triggered the event (Should be TAG_INPUT with type text/password)

    }
    Specified by:
      `dataChanged` in interface `HTMLCallback`