org.springframework.richclient.exceptionhandling.delegation
Class DefaultExceptionPurger

Show UML class diagram
java.lang.Object
  extended by org.springframework.richclient.exceptionhandling.delegation.DefaultExceptionPurger
All Implemented Interfaces:
ExceptionPurger

public class DefaultExceptionPurger
extends Object
implements ExceptionPurger

A purger that looks through to a throwable chain and can select one to unwrap.

Since:
0.3.0
Author:
Geoffrey De Smet

Field Summary
protected  List<Class> excludeThrowableClassList
           
protected  List<Class> includeThrowableClassList
           
 
Constructor Summary
DefaultExceptionPurger()
           
DefaultExceptionPurger(Class includeThrowableClass, Class excludeThrowableClass)
           
DefaultExceptionPurger(List<Class> includeThrowableClassList, List<Class> excludeThrowableClassList)
           
 
Method Summary
protected  boolean containedIn(Throwable e, List<Class> throwableClassList)
           
 Throwable purge(Throwable root)
          Purges the throwable to unwrap it to find the most suitable throwable to evaluate or handle.
 void setExcludeThrowableClass(Class excludeThrowableClass)
          See @{link setExcludeThrowableClassList(List).
 void setExcludeThrowableClassList(List<Class> excludeThrowableClassList)
          Sets Throwables that if found, its cause is unwrapped.
 void setIncludeThrowableClass(Class includeThrowableClass)
          See @{link setIncludeThrowableClassList(List).
 void setIncludeThrowableClassList(List<Class> includeThrowableClassList)
          Sets Throwables that if found, are unwrapped.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

includeThrowableClassList

protected List<Class> includeThrowableClassList

excludeThrowableClassList

protected List<Class> excludeThrowableClassList
Constructor Detail

DefaultExceptionPurger

public DefaultExceptionPurger()

DefaultExceptionPurger

public DefaultExceptionPurger(Class includeThrowableClass,
                              Class excludeThrowableClass)

DefaultExceptionPurger

public DefaultExceptionPurger(List<Class> includeThrowableClassList,
                              List<Class> excludeThrowableClassList)
Method Detail

setIncludeThrowableClass

public void setIncludeThrowableClass(Class includeThrowableClass)
See @{link setIncludeThrowableClassList(List).

Parameters:
includeThrowableClass - used as a singleton list for includeThrowableClassList

setIncludeThrowableClassList

public void setIncludeThrowableClassList(List<Class> includeThrowableClassList)
Sets Throwables that if found, are unwrapped. These Throwables are ussually very specific exceptions, for example: LoginCredentialsExpiredException. The earliest throwable found is selected.

Given a chain A1->B1->C1->B2->D1: {A} returns A1; {B} returns B1; {D} returns D1; {Z) returns A1; {C, Z} returns C1; {B, D} returns B1; {D, B} return B1;

When combined, includeThrowableClassList takes priority over excludeThrowableClassList.

Parameters:
includeThrowableClassList - a list of classes

setExcludeThrowableClass

public void setExcludeThrowableClass(Class excludeThrowableClass)
See @{link setExcludeThrowableClassList(List).

Parameters:
excludeThrowableClass - used as a singleton list for excludeThrowableClassList

setExcludeThrowableClassList

public void setExcludeThrowableClassList(List<Class> excludeThrowableClassList)
Sets Throwables that if found, its cause is unwrapped. These Throwables are ussually very general wrapper exceptions, for example: WrapperException. The last throwable found's cause is selected. If the cause is null, itself is selected.

Given a chain A1->B1->C1->B2->D1: {A} returns B1; {B} returns D1; {D} returns D1; {Z) returns A1; {C, Z} returns B2; {C, D} returns D1; {D, C} return D1;

When combined, includeThrowableClassList takes priority over excludeThrowableClassList.

Parameters:
excludeThrowableClassList - a list of classes

purge

public Throwable purge(Throwable root)
Description copied from interface: ExceptionPurger
Purges the throwable to unwrap it to find the most suitable throwable to evaluate or handle.

Specified by:
purge in interface ExceptionPurger
Parameters:
root - the root exception or error
Returns:
e or a chained Throwable which is part of e's chain

containedIn

protected boolean containedIn(Throwable e,
                              List<Class> throwableClassList)


Copyright © 2004-2009 The Spring Framework. All Rights Reserved.