org.richfaces.ui.misc.focus

## Class AbstractFocus

- java.lang.Object
- - javax.faces.component.UIComponent
  - - javax.faces.component.UIComponentBase
    - - javax.faces.component.UIOutput
      - - org.richfaces.ui.misc.focus.AbstractFocus

- All Implemented Interfaces:
    EventListener, javax.faces.component.PartialStateHolder, javax.faces.component.StateHolder, javax.faces.component.TransientStateHolder, javax.faces.component.ValueHolder, javax.faces.event.ComponentSystemEventListener, javax.faces.event.FacesListener, javax.faces.event.SystemEventListenerHolder, AjaxOutput
  Direct Known Subclasses:
    UIFocus

      public abstract class AbstractFocus
      extends javax.faces.component.UIOutput
      implements AjaxOutput

  Focus component allows to set focus based on validation of components or alternatively it can preserve focus on currently focused form input.

  Focus can be bound to form (in case of placement to h:form) or to whole view (when placed outside of forms) - in latter case, all forms will be managed by one Focus. There can be at most one Focus per form. When there is one view-scoped Focus and form defines own Focus, form-scoped Focus settings will be used.

  Focus is applied each time the component is rendered - for each full page submit and for each partial page request (in case of ajaxRendered=true). Alternatively, you can use JavaScript API: `applyFocus()` function will immediately cause.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `AbstractFocus.Mode`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `COMPONENT_FAMILY`
    `static String` | `COMPONENT_TYPE`

    - ### Fields inherited from class javax.faces.component.UIComponent

      `ATTRS_WITH_DECLARED_DEFAULT_VALUES, BEANINFO_KEY, bindings, COMPOSITE_COMPONENT_TYPE_KEY, COMPOSITE_FACET_NAME, CURRENT_COMPONENT, CURRENT_COMPOSITE_COMPONENT, FACETS_KEY, HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME, VIEW_LOCATION_KEY`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractFocus()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `AbstractFocus.Mode` | `getMode()` Returns a mode of Focus component
    `abstract boolean` | `isAjaxRendered()` Defines whether focus state should be updated during each AJAX request automatically.
    `abstract boolean` | `isDelayed()` Defines whether focus should not be applied after initial page load, but will need to be triggered by JavaScript function from Focus API: `applyFocus()` or via re-rendering (postback).
    `abstract boolean` | `isKeepTransient()` Hide keepTransient attribute from AjaxOutput
    `abstract boolean` | `isPreserve()` Defines whether focus should be preserved on last focused input before request was done (default: false)
    `abstract boolean` | `isValidationAware()` Defines if focus should respect validation of inputs.
    `void` | `processEvent(javax.faces.event.ComponentSystemEvent event)`

    - ### Methods inherited from class javax.faces.component.UIOutput

      `clearInitialState, getConverter, getFamily, getLocalValue, getValue, markInitialState, restoreState, saveState, setConverter, setValue`

    - ### Methods inherited from class javax.faces.component.UIComponentBase

      `addClientBehavior, addFacesListener, broadcast, decode, encodeBegin, encodeChildren, encodeEnd, findComponent, getAttributes, getChildCount, getChildren, getClientBehaviors, getClientId, getDefaultEventName, getEventNames, getFacesContext, getFacesListeners, getFacet, getFacetCount, getFacets, getFacetsAndChildren, getId, getListenersForEventClass, getParent, getRenderer, getRendererType, getRendersChildren, getValueBinding, invokeOnComponent, isRendered, isTransient, processDecodes, processRestoreState, processSaveState, processUpdates, processValidators, queueEvent, removeFacesListener, restoreAttachedState, saveAttachedState, setId, setParent, setRendered, setRendererType, setTransient, setValueBinding, subscribeToEvent, unsubscribeFromEvent`

    - ### Methods inherited from class javax.faces.component.UIComponent

      `encodeAll, getClientId, getCompositeComponentParent, getContainerClientId, getCurrentComponent, getCurrentCompositeComponent, getNamingContainer, getResourceBundleMap, getStateHelper, getStateHelper, getTransientStateHelper, getTransientStateHelper, getValueExpression, initialStateMarked, isCompositeComponent, isInView, isVisitable, popComponentFromEL, pushComponentToEL, restoreTransientState, saveTransientState, setInView, setValueExpression, visitTree`

    - ### Methods inherited from class java.lang.Object

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

    - ### Methods inherited from interface org.richfaces.ui.common.AjaxOutput

      `setAjaxRendered, setKeepTransient`

- - ### Field Detail

    - #### COMPONENT_TYPE

          public static final String COMPONENT_TYPE

      See Also:
        Constant Field Values

    - #### COMPONENT_FAMILY

          public static final String COMPONENT_FAMILY

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### AbstractFocus

          public AbstractFocus()

  - ### Method Detail

    - #### isAjaxRendered

          public abstract boolean isAjaxRendered()

      Defines whether focus state should be updated during each AJAX request automatically. (default: true)
      Specified by:
        `isAjaxRendered` in interface `AjaxOutput`
      Returns:

    - #### isValidationAware

          public abstract boolean isValidationAware()

      Defines if focus should respect validation of inputs.

      If true, only invalid form fields will be focused when focus applied.

      (default: true)

    - #### isPreserve

          public abstract boolean isPreserve()

      Defines whether focus should be preserved on last focused input before request was done (default: false)

    - #### isDelayed

          public abstract boolean isDelayed()

      Defines whether focus should not be applied after initial page load, but will need to be triggered by JavaScript function from Focus API: `applyFocus()` or via re-rendering (postback).

    - #### isKeepTransient

          public abstract boolean isKeepTransient()

      Hide keepTransient attribute from AjaxOutput
      Specified by:
        `isKeepTransient` in interface `AjaxOutput`
      Returns:

    - #### getMode

          public AbstractFocus.Mode getMode()

      Returns a mode of Focus component

    - #### processEvent

          public void processEvent(javax.faces.event.ComponentSystemEvent event)
                            throws javax.faces.event.AbortProcessingException

      Specified by:
        `processEvent` in interface `javax.faces.event.ComponentSystemEventListener`
      Overrides:
        `processEvent` in class `javax.faces.component.UIComponent`
      Throws:
        `javax.faces.event.AbortProcessingException`

Copyright © 2013 JBoss by Red Hat. All Rights Reserved.