## Uses of Class
javax.faces.event.SystemEvent

- Packages that use SystemEvent
  Package | Description
  --- | ---
  javax.faces.application | APIs that are used to link an application's business logic objects to JavaServer Faces, as well as convenient pluggable mechanisms to manage the execution of an application that is based on JavaServer Faces.
  javax.faces.component | Fundamental APIs for user interface components.
  javax.faces.context | Classes and interfaces defining per-request state information.
  javax.faces.event | Interfaces describing events and event listeners, and concrete event implementation classes.

- - ### Uses of SystemEvent in javax.faces.application

    Method parameters in javax.faces.application with type arguments of type SystemEvent
    Modifier and Type | Method and Description
    --- | ---
    `void` | ApplicationWrapper.`publishEvent(FacesContext context, Class<? extends SystemEvent> systemEventClass, Class<?> sourceBaseType, Object source)` The default behavior of this method is to call `Application.publishEvent(javax.faces.context.FacesContext, Class, Class, Object)` on the wrapped `Application` object.
    `void` | Application.`publishEvent(FacesContext context, Class<? extends SystemEvent> systemEventClass, Class<?> sourceBaseType, Object source)` This method functions exactly like `Application.publishEvent(FacesContext,Class,Object)`, except the run-time must use the argument `sourceBaseType` to find the matching listener instead of using the `Class` of the `source` argument.
    `void` | ApplicationWrapper.`publishEvent(FacesContext context, Class<? extends SystemEvent> systemEventClass, Object source)` The default behavior of this method is to call `Application.publishEvent(javax.faces.context.FacesContext, Class, Object)` on the wrapped `Application` object.
    `void` | Application.`publishEvent(FacesContext context, Class<? extends SystemEvent> systemEventClass, Object source)` If `FacesContext.isProcessingEvents()` is `true` and there are one or more listeners for events of the type represented by `systemEventClass`, call those listeners, passing `source` as the source of the event.
    `void` | ApplicationWrapper.`subscribeToEvent(Class<? extends SystemEvent> systemEventClass, Class<?> sourceClass, SystemEventListener listener)` The default behavior of this method is to call `Application.subscribeToEvent(Class, Class, javax.faces.event.SystemEventListener)` on the wrapped `Application` object.
    `void` | Application.`subscribeToEvent(Class<? extends SystemEvent> systemEventClass, Class<?> sourceClass, SystemEventListener listener)` Install the listener instance referenced by argument `listener` into the application as a listener for events of type `systemEventClass` that originate from objects of type `sourceClass`.
    `void` | ApplicationWrapper.`subscribeToEvent(Class<? extends SystemEvent> systemEventClass, SystemEventListener listener)` The default behavior of this method is to call `Application.subscribeToEvent(Class, javax.faces.event.SystemEventListener)` on the wrapped `Application` object.
    `void` | Application.`subscribeToEvent(Class<? extends SystemEvent> systemEventClass, SystemEventListener listener)` Install the listener instance referenced by argument `listener` into application as a listener for events of type `systemEventClass`.
    `void` | ApplicationWrapper.`unsubscribeFromEvent(Class<? extends SystemEvent> systemEventClass, Class<?> sourceClass, SystemEventListener listener)` The default behavior of this method is to call `Application.unsubscribeFromEvent(Class, Class, javax.faces.event.SystemEventListener)` on the wrapped `Application` object.
    `void` | Application.`unsubscribeFromEvent(Class<? extends SystemEvent> systemEventClass, Class<?> sourceClass, SystemEventListener listener)` Remove the listener instance referenced by argument `listener` from the application as a listener for events of type `systemEventClass` that originate from objects of type `sourceClass`.
    `void` | ApplicationWrapper.`unsubscribeFromEvent(Class<? extends SystemEvent> systemEventClass, SystemEventListener listener)` The default behavior of this method is to call `Application.unsubscribeFromEvent(Class, javax.faces.event.SystemEventListener)` on the wrapped `Application` object.
    `void` | Application.`unsubscribeFromEvent(Class<? extends SystemEvent> systemEventClass, SystemEventListener listener)` Remove the listener instance referenced by argument `listener` from the application as a listener for events of type `systemEventClass`.

  - ### Uses of SystemEvent in javax.faces.component

    Method parameters in javax.faces.component with type arguments of type SystemEvent
    Modifier and Type | Method and Description
    --- | ---
    `List<SystemEventListener>` | UIComponentBase.`getListenersForEventClass(Class<? extends SystemEvent> eventClass)` Return the `SystemEventListener` instances registered on this `UIComponent` instance that are interested in events of type `eventClass`.
    `List<SystemEventListener>` | UIComponent.`getListenersForEventClass(Class<? extends SystemEvent> eventClass)` This implementation throws `UnsupportedOperationException` and is provided for the sole purpose of not breaking existing applications that extend this class.
    `List<SystemEventListener>` | UIViewRoot.`getViewListenersForEventClass(Class<? extends SystemEvent> systemEvent)` Return the `SystemEventListener` instances registered on this `UIComponent` instance that are interested in events of type `eventClass`.
    `void` | UIComponentBase.`subscribeToEvent(Class<? extends SystemEvent> eventClass, ComponentSystemEventListener componentListener)` Install the listener instance referenced by argument `componentListener` as a listener for events of type `eventClass` originating from this specific instance of `UIComponent`.
    `void` | UIComponent.`subscribeToEvent(Class<? extends SystemEvent> eventClass, ComponentSystemEventListener componentListener)` This implementation throws `UnsupportedOperationException` and is provided for the sole purpose of not breaking existing applications that extend this class.
    `void` | UIViewRoot.`subscribeToViewEvent(Class<? extends SystemEvent> systemEvent, SystemEventListener listener)` Install the listener instance referenced by argument `listener` into the `UIViewRoot` as a listener for events of type `systemEventClass`.
    `void` | UIComponentBase.`unsubscribeFromEvent(Class<? extends SystemEvent> eventClass, ComponentSystemEventListener componentListener)` Remove the listener instance referenced by argument `componentListener` as a listener for events of type `eventClass` originating from this specific instance of `UIComponent`.
    `void` | UIComponent.`unsubscribeFromEvent(Class<? extends SystemEvent> eventClass, ComponentSystemEventListener componentListener)` This implementation throws `UnsupportedOperationException` and is provided for the sole purpose of not breaking existing applications that extend this class.
    `void` | UIViewRoot.`unsubscribeFromViewEvent(Class<? extends SystemEvent> systemEvent, SystemEventListener listener)` Remove the listener instance referenced by argument `listener` from the `UIViewRoot` as a listener for events of type `systemEventClass`.

  - ### Uses of SystemEvent in javax.faces.context

    Methods in javax.faces.context with parameters of type SystemEvent
    Modifier and Type | Method and Description
    --- | ---
    `void` | ExceptionHandlerWrapper.`processEvent(SystemEvent event)` The default behavior of this method is to call `ExceptionHandler.processEvent(javax.faces.event.SystemEvent)` on the wrapped `ExceptionHandler` object.
    `abstract void` | ExceptionHandler.`processEvent(SystemEvent exceptionQueuedEvent)` When called, the listener can assume that any guarantees given in the javadoc for the specific `SystemEvent` subclass are true.

  - ### Uses of SystemEvent in javax.faces.event

    Subclasses of SystemEvent in javax.faces.event
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ComponentSystemEvent` ComponentSystemEvent is the base class for `SystemEvent`s that are specific to a `UIComponent` instance.
    `class` | `ExceptionQueuedEvent` The system event facility will create an instance of this class whenever `Application.publishEvent(javax.faces.context.FacesContext, java.lang.Class<? extends javax.faces.event.SystemEvent>, java.lang.Object)` is called with `ExceptionQueuedEvent.class` as `systemEventClass` argument.
    `class` | `PostAddToViewEvent` When an instance of this event is passed to `SystemEventListener.processEvent(javax.faces.event.SystemEvent)` or `ComponentSystemEventListener.processEvent(javax.faces.event.ComponentSystemEvent)`, the listener implementation may assume that the `source` of this event instance is a `UIComponent` instance and that either that instance or an ancestor of that instance was just added to the view.
    `class` | `PostConstructApplicationEvent` This event must be published by the runtime after all configuration resources have been parsed and processed.
    `class` | `PostConstructCustomScopeEvent` This class is provided to allow custom scopes to publish a "post construct" event in the same way that other scopes do to let the application become aware of the beginning of the scope.
    `class` | `PostConstructViewMapEvent` This event must be published by a call to {javax.faces.application.Application#publishEvent} when the view map is first created.
    `class` | `PostKeepFlashValueEvent` This event must be published by a call to `Application.publishEvent(javax.faces.context.FacesContext, java.lang.Class<? extends javax.faces.event.SystemEvent>, java.lang.Object)` when a value is kept in the flash.
    `class` | `PostPutFlashValueEvent` This event must be published by a call to `Application.publishEvent(javax.faces.context.FacesContext, java.lang.Class<? extends javax.faces.event.SystemEvent>, java.lang.Object)` when a value is stored in the flash.
    `class` | `PostRestoreStateEvent` When an instance of this event is passed to `SystemEventListener.processEvent(javax.faces.event.SystemEvent)` or `ComponentSystemEventListener.processEvent(javax.faces.event.ComponentSystemEvent)`, the listener implementation may assume that the `source` of this event instance is in a tree that has just had its state restored.
    `class` | `PostValidateEvent` When an instance of this event is passed to `SystemEventListener.processEvent(javax.faces.event.SystemEvent)` or `ComponentSystemEventListener.processEvent(javax.faces.event.ComponentSystemEvent)`, the listener implementation may assume that the `source` of this event instance is the `UIComponent` instance that is that has just been validated.
    `class` | `PreClearFlashEvent` This event must be published by a call to `Application.publishEvent(javax.faces.context.FacesContext, java.lang.Class<? extends javax.faces.event.SystemEvent>, java.lang.Object)` before the flash is cleared.
    `class` | `PreDestroyApplicationEvent` This event must be published by the runtime before the factories associated with this `Application` are released.
    `class` | `PreDestroyCustomScopeEvent` This class is provided to allow custom scopes to publish a "pre construct" event in the same way that other scopes do to let the application become aware of the beginning of the scope.
    `class` | `PreDestroyViewMapEvent` This event must be published by a call to `Application.publishEvent(javax.faces.context.FacesContext, java.lang.Class<? extends javax.faces.event.SystemEvent>, java.lang.Object)` when the `clear` method is called on the map returned from `UIViewRoot.getViewMap()`.
    `class` | `PreRemoveFlashValueEvent` This event must be published by a call to `Application.publishEvent(javax.faces.context.FacesContext, java.lang.Class<? extends javax.faces.event.SystemEvent>, java.lang.Object)` when a value is removed from the flash.
    `class` | `PreRemoveFromViewEvent` When an instance of this event is passed to `SystemEventListener.processEvent(javax.faces.event.SystemEvent)` or `ComponentSystemEventListener.processEvent(javax.faces.event.ComponentSystemEvent)`, the listener implementation may assume that the `source` of this event instance is a `UIComponent` instance that is about to be removed from the view.
    `class` | `PreRenderComponentEvent` When an instance of this event is passed to `SystemEventListener.processEvent(javax.faces.event.SystemEvent)` or `ComponentSystemEventListener.processEvent(javax.faces.event.ComponentSystemEvent)`, the listener implementation may assume that the `source` of this event instance is the `UIComponent` instance that is about to be rendered and that it is safe to call `UIComponent.getParent()`, `UIComponent.getClientId()`, and other methods that depend upon the component instance being in the view.
    `class` | `PreRenderViewEvent` When an instance of this event is passed to `SystemEventListener.processEvent(javax.faces.event.SystemEvent)` or `ComponentSystemEventListener.processEvent(javax.faces.event.ComponentSystemEvent)`, the listener implementation may assume that the `source` of this event instance is the `UIViewRoot` instance that is about to be rendered.
    `class` | `PreValidateEvent` When an instance of this event is passed to `SystemEventListener.processEvent(javax.faces.event.SystemEvent)` or `ComponentSystemEventListener.processEvent(javax.faces.event.ComponentSystemEvent)`, the listener implementation may assume that the `source` of this event instance is the `UIComponent` instance that is about to be validated.

    Methods in javax.faces.event with parameters of type SystemEvent
    Modifier and Type | Method and Description
    --- | ---
    `void` | SystemEventListener.`processEvent(SystemEvent event)` When called, the listener can assume that any guarantees given in the javadoc for the specific `SystemEvent` subclass are true.

    Method parameters in javax.faces.event with type arguments of type SystemEvent
    Modifier and Type | Method and Description
    --- | ---
    `List<SystemEventListener>` | SystemEventListenerHolder.`getListenersForEventClass(Class<? extends SystemEvent> facesEventClass)`
    `List<SystemEventListener>` | ExceptionQueuedEventContext.`getListenersForEventClass(Class<? extends SystemEvent> facesEventClass)` Return a `List` that contains a single entry, the `ExceptionHandler` for the current request.

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.