Top Description Fields Constructors Methods
org.springframework.core

public Class ExceptionDepthComparator

extends Object
implements Comparator<Class<? extends Throwable>>
Class Inheritance
All Implemented Interfaces
java.util.Comparator
Imports
java.util.ArrayList, .Collection, .Comparator, .List, org.springframework.util.Assert

Comparator capable of sorting exceptions based on their depth from the thrown exception type.
Authors
Juergen Hoeller, Arjen Poutsma
Since
3.0.3

Field Summary

Modifier and TypeField and Description
private final Class<? extends Throwable>

Constructor Summary

AccessConstructor and Description
public
ExceptionDepthComparator(Throwable
the target exception to compare to when sorting by depth
exception
)

Create a new ExceptionDepthComparator for the given exception.

public
ExceptionDepthComparator(Class<? extends Throwable>
the target exception type to compare to when sorting by depth
exceptionType
)

Create a new ExceptionDepthComparator for the given exception type.

Method Summary

Modifier and TypeMethod and Description
public int
compare(Class<? extends Throwable>
the first object to be compared.
o1
,
Class<? extends Throwable>
the second object to be compared.
o2
)

Implements java.util.Comparator.compare.

Compares its two arguments for order.

public static Class<? extends Throwable>

Returns:

the closest matching exception type from the given collection
findClosestMatch
(Collection<Class<? extends Throwable>>
the collection of exception types
exceptionTypes
,
Throwable
the target exception to find a match for
targetException
)

Obtain the closest match from the given exception types for the given target exception.

private int
getDepth(Class<?> declaredException, Class<?> exceptionToMatch, int depth)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

targetExceptionback to summary
private final Class<? extends Throwable> targetException

Constructor Detail

ExceptionDepthComparatorback to summary
public ExceptionDepthComparator(Throwable exception)

Create a new ExceptionDepthComparator for the given exception.

Parameters
exception:Throwable

the target exception to compare to when sorting by depth

ExceptionDepthComparatorback to summary
public ExceptionDepthComparator(Class<? extends Throwable> exceptionType)

Create a new ExceptionDepthComparator for the given exception type.

Parameters
exceptionType:Class<? extends Throwable>

the target exception type to compare to when sorting by depth

Method Detail

compareback to summary
public int compare(Class<? extends Throwable> o1, Class<? extends Throwable> o2)

Implements java.util.Comparator.compare.

Doc from java.util.Comparator.compare.

Compares its two arguments for order. Returns a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

The implementor must ensure that signum(compare(x, y)) == -signum(compare(y, x)) for all x and y. (This implies that compare(x, y) must throw an exception if and only if compare(y, x) throws an exception.)

The implementor must also ensure that the relation is transitive: ((compare(x, y)>0) && (compare(y, z)>0)) implies compare(x, z)>0.

Finally, the implementor must ensure that compare(x, y)==0 implies that signum(compare(x, z))==signum(compare(y, z)) for all z.

Parameters
o1:Class<? extends Throwable>

the first object to be compared.

o2:Class<? extends Throwable>

the second object to be compared.

Returns:int

a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

Annotations
@Override
findClosestMatchback to summary
public static Class<? extends Throwable> findClosestMatch(Collection<Class<? extends Throwable>> exceptionTypes, Throwable targetException)

Obtain the closest match from the given exception types for the given target exception.

Parameters
exceptionTypes:Collection<Class<? extends Throwable>>

the collection of exception types

targetException:Throwable

the target exception to find a match for

Returns:Class<? extends Throwable>

the closest matching exception type from the given collection

getDepthback to summary
private int getDepth(Class<?> declaredException, Class<?> exceptionToMatch, int depth)