public class ExceptionMapperFactory extends Object implements ExceptionMappers
Exception mappers
implementation that aggregates
exception mappers and server as the main entry point for exception mapper
instance lookup.Modifier and Type | Class and Description |
---|---|
static class |
ExceptionMapperFactory.ExceptionMappersConfigurator
Configurator which initializes and register
ExceptionMappers instance into InjectionManager and
BootstrapBag . |
Constructor and Description |
---|
ExceptionMapperFactory(org.glassfish.jersey.internal.inject.InjectionManager injectionManager)
Create new exception mapper factory initialized with
injection manager
instance that will be used to look up all providers implementing ExceptionMapper interface. |
Modifier and Type | Method and Description |
---|---|
<T extends Throwable> |
find(Class<T> type)
Get an exception mapping provider for a particular class of exception.
|
<T extends Throwable> |
findMapping(T exceptionInstance)
Get an exception mapping provider for a particular exception instance.
|
public ExceptionMapperFactory(org.glassfish.jersey.internal.inject.InjectionManager injectionManager)
injection manager
instance that will be used to look up all providers implementing ExceptionMapper
interface.injectionManager
- injection manager.public <T extends Throwable> javax.ws.rs.ext.ExceptionMapper<T> findMapping(T exceptionInstance)
ExceptionMappers
This method is similar to method ExceptionMappers.find(Class)
. In addition it takes
into an account the result of the ExtendedExceptionMapper.isMappable(Throwable)
of any mapper that implements Jersey ExtendedExceptionMapper
API.
If an extended exception mapper returns false
from isMappable(Throwable)
,
the mapper is disregarded from the search.
Exception mapping providers are checked one by one until a first provider returns
true
from the isMappable(Throwable)
method or until a first provider
is found which best supports the exception type and does not implement ExtendedExceptionMapper
API (i.e. it is a standard JAX-RS ExceptionMapper
). The order in which the providers are
checked is determined by the distance of the declared exception mapper type and the actual exception
type.
Note that if an exception mapping provider does not implement ExtendedExceptionMapper
it is always considered applicable for a given exception instance.
findMapping
in interface ExceptionMappers
T
- type of the exception handled by the exception mapping provider.exceptionInstance
- exception to be handled by the exception mapping provider.ExceptionMapper
for the supplied exception instance type or null
if none
is found.public <T extends Throwable> javax.ws.rs.ext.ExceptionMapper<T> find(Class<T> type)
ExceptionMappers
type
.find
in interface ExceptionMappers
T
- type of the exception handled by the exception mapping provider.type
- the class of exception.ExceptionMapper
for the supplied type or null
if none is found.Copyright © 2007-2021, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.