Spring Framework

org.springframework.core
Class ExceptionDepthComparator

java.lang.Object
  extended by org.springframework.core.ExceptionDepthComparator
All Implemented Interfaces:
java.util.Comparator<java.lang.Class<? extends java.lang.Throwable>>

public class ExceptionDepthComparator
extends java.lang.Object
implements java.util.Comparator<java.lang.Class<? extends java.lang.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
ExceptionDepthComparator(java.lang.Class<? extends java.lang.Throwable> exceptionType)
          Create a new ExceptionDepthComparator for the given exception type.
ExceptionDepthComparator(java.lang.Throwable exception)
          Create a new ExceptionDepthComparator for the given exception.
 
Method Summary
 int compare(java.lang.Class<? extends java.lang.Throwable> o1, java.lang.Class<? extends java.lang.Throwable> o2)
           
static java.lang.Class<? extends java.lang.Throwable> findClosestMatch(java.util.Collection<java.lang.Class<? extends java.lang.Throwable>> exceptionTypes, java.lang.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
 

Constructor Detail

ExceptionDepthComparator

public ExceptionDepthComparator(java.lang.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(java.lang.Class<? extends java.lang.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(java.lang.Class<? extends java.lang.Throwable> o1,
                   java.lang.Class<? extends java.lang.Throwable> o2)
Specified by:
compare in interface java.util.Comparator<java.lang.Class<? extends java.lang.Throwable>>

findClosestMatch

public static java.lang.Class<? extends java.lang.Throwable> findClosestMatch(java.util.Collection<java.lang.Class<? extends java.lang.Throwable>> exceptionTypes,
                                                                              java.lang.Throwable targetException)
Obtain the closest match from the given exception types for the given target exception.

Parameters:
exceptionTypes - the collection of exception types
targetException - the target exception to find a match for
Returns:
the closest matching exception type from the given collection

Spring Framework