Package org.springframework.core
Class ExceptionDepthComparator
- java.lang.Object
- org.springframework.core.ExceptionDepthComparator
- All Implemented Interfaces:
Comparator<Class<? extends Throwable>>
public class ExceptionDepthComparator extends Object implements Comparator<Class<? extends Throwable>>
Comparator capable of sorting exceptions based on their depth from the thrown exception type.- Since:
- 3.0.3
- Author:
- Juergen Hoeller, Arjen Poutsma
Constructor Summary
Constructors Constructor Description ExceptionDepthComparator(Class<? extends Throwable> exceptionType)
Create a new ExceptionDepthComparator for the given exception type.ExceptionDepthComparator(Throwable exception)
Create a new ExceptionDepthComparator for the given exception.
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compare(Class<? extends Throwable> o1, Class<? extends Throwable> o2)
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.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Comparator
equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
Constructor Detail
ExceptionDepthComparator
public ExceptionDepthComparator(Throwable exception)
Create a new ExceptionDepthComparator for the given exception.- Parameters:
exception
- the target exception to compare to when sorting by depth
ExceptionDepthComparator
public ExceptionDepthComparator(Class<? extends Throwable> exceptionType)
Create a new ExceptionDepthComparator for the given exception type.- Parameters:
exceptionType
- the target exception type to compare to when sorting by depth
Method Detail
compare
public int compare(Class<? extends Throwable> o1, Class<? extends Throwable> o2)
- Specified by:
compare
in interfaceComparator<Class<? extends Throwable>>
findClosestMatch
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
- the collection of exception typestargetException
- the target exception to find a match for- Returns:
- the closest matching exception type from the given collection