org.glassfish.jersey.spi

## Interface ExceptionMappers

    public interface ExceptionMappers

Provides lookup of `ExceptionMapper` instances that can be used to map exceptions to responses.

Author:
  Paul Sandoz

### Method Summary

All Methods Instance Methods Abstract Methods
`<T extends Throwable> jakarta.ws.rs.ext.ExceptionMapper<T>` `find(Class<T> type)` Get an exception mapping provider for a particular class of exception.
`<T extends Throwable> jakarta.ws.rs.ext.ExceptionMapper<T>` `findMapping(T exceptionInstance)` Get an exception mapping provider for a particular exception instance.

### Method Detail

#### find

    <T extends Throwable> jakarta.ws.rs.ext.ExceptionMapper<T> find(Class<T> type)

Get an exception mapping provider for a particular class of exception. Returns the provider whose generic type is the nearest superclass of `type`.

Type Parameters:
  `T` - type of the exception handled by the exception mapping provider.
Parameters:
  `type` - the class of exception.
Returns:
  an `ExceptionMapper` for the supplied type or `null` if none is found.

#### findMapping

    <T extends Throwable> jakarta.ws.rs.ext.ExceptionMapper<T> findMapping(T exceptionInstance)

Get an exception mapping provider for a particular exception instance.

This method is similar to method `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.

Type Parameters:
  `T` - type of the exception handled by the exception mapping provider.
Parameters:
  `exceptionInstance` - exception to be handled by the exception mapping provider.
Returns:
  an `ExceptionMapper` for the supplied exception instance type or `null` if none is found.