private static final class PreJsf2ExceptionHandlerFactory.PreJsf2ExceptionHandler extends ExceptionHandler
ExceptionHandler implementation.| Modifier and Type | Field and Description |
|---|---|
private ExceptionQueuedEvent |
handled |
private java.util.LinkedList<ExceptionQueuedEvent> |
handledExceptions |
private static java.lang.String |
LOG_AFTER_KEY |
private static java.lang.String |
LOG_BEFORE_KEY |
private static java.lang.String |
LOG_KEY |
private static java.util.logging.Logger |
LOGGER |
private java.util.LinkedList<ExceptionQueuedEvent> |
unhandledExceptions |
| Modifier | Constructor and Description |
|---|---|
private |
PreJsf2ExceptionHandler() |
| Modifier and Type | Method and Description |
|---|---|
ExceptionQueuedEvent |
getHandledExceptionQueuedEvent()
Return the first
|
java.lang.Iterable<ExceptionQueuedEvent> |
getHandledExceptionQueuedEvents()
The default implementation must
return an |
private java.lang.String |
getLoggingKey(boolean beforePhase,
boolean afterPhase) |
java.lang.Throwable |
getRootCause(java.lang.Throwable t)
Unwrap the argument |
java.lang.Iterable<ExceptionQueuedEvent> |
getUnhandledExceptionQueuedEvents()
Return an |
void |
handle()
Take action to handle the
|
boolean |
isListenerForSource(java.lang.Object source)
This method must return
true if and only if this
listener instance is interested in receiving events from the
instance referenced by the source parameter. |
private boolean |
isRethrown(java.lang.Throwable t,
boolean isBeforeOrAfterPhase) |
private void |
log(ExceptionQueuedEventContext exceptionContext) |
void |
processEvent(SystemEvent event)
When called, the listener can assume that any guarantees given
in the javadoc for the specific
SystemEvent
subclass are true. |
private boolean |
shouldUnwrap(java.lang.Class<? extends java.lang.Throwable> c) |
private static final java.util.logging.Logger LOGGER
private static final java.lang.String LOG_BEFORE_KEY
private static final java.lang.String LOG_AFTER_KEY
private static final java.lang.String LOG_KEY
private java.util.LinkedList<ExceptionQueuedEvent> unhandledExceptions
private java.util.LinkedList<ExceptionQueuedEvent> handledExceptions
private ExceptionQueuedEvent handled
public ExceptionQueuedEvent getHandledExceptionQueuedEvent()
ExceptionHandlerReturn the first
ExceptionQueuedEvent handled by this handler.
getHandledExceptionQueuedEvent in class ExceptionHandlerExceptionHandler@getHandledExceptionQueuedEvent()public void handle()
throws FacesException
ExceptionHandlerTake action to handle the
Exception instances residing inside the ExceptionQueuedEvent instances that have been queued by calls to
Application().publishEvent(ExceptionQueuedEvent.class,
eventContext). The requirements of the default
implementation are detailed in section JSF.6.2.1.
handle in class ExceptionHandlerFacesException - if and only if a problem occurs while
performing the algorithm to handle the Exception, not
as a means of conveying a handled Exception itself.public boolean isListenerForSource(java.lang.Object source)
ExceptionHandlerThis method must return true if and only if this
listener instance is interested in receiving events from the
instance referenced by the source parameter.
isListenerForSource in interface SystemEventListenerisListenerForSource in class ExceptionHandlersource - the source that is inquiring about the
appropriateness of sending an event to this listener instance.ExceptionHandler.isListenerForSource(Object)public void processEvent(SystemEvent event) throws AbortProcessingException
ExceptionHandlerWhen called, the listener can assume that any guarantees given
in the javadoc for the specific SystemEvent
subclass are true.
processEvent in interface SystemEventListenerprocessEvent in class ExceptionHandlerevent - the SystemEvent instance that
is being processed.AbortProcessingException - if lifecycle processing should
cease for this request.ExceptionHandler.processEvent(javax.faces.event.SystemEvent)public java.lang.Throwable getRootCause(java.lang.Throwable t)
ExceptionHandlerUnwrap the argument t
until the unwrapping encounters an Object whose
getClass() is not equal to
FacesException.class or
javax.el.ELException.class. If there is no root cause, null is returned.
getRootCause in class ExceptionHandlerExceptionHandler.getRootCause(Throwable)public java.lang.Iterable<ExceptionQueuedEvent> getUnhandledExceptionQueuedEvents()
ExceptionHandlerReturn an Iterable over
all ExceptionQueuedEvents that have not yet been handled
by the ExceptionHandler.handle() method.
getUnhandledExceptionQueuedEvents in class ExceptionHandlerExceptionHandler.getUnhandledExceptionQueuedEvents()public java.lang.Iterable<ExceptionQueuedEvent> getHandledExceptionQueuedEvents()
ExceptionHandlerThe default implementation must
return an Iterable over all
ExceptionQueuedEvents that have been handled by the ExceptionHandler.handle() method.
getHandledExceptionQueuedEvents in class ExceptionHandlerExceptionHandler.getHandledExceptionQueuedEvents()private boolean shouldUnwrap(java.lang.Class<? extends java.lang.Throwable> c)
c - Throwable implementation classtrue if c is FacesException.class or
ELException.classprivate boolean isRethrown(java.lang.Throwable t,
boolean isBeforeOrAfterPhase)
private void log(ExceptionQueuedEventContext exceptionContext)
private java.lang.String getLoggingKey(boolean beforePhase,
boolean afterPhase)