001 package org.springframework.richclient.exceptionhandling.delegation; 002 003 /** 004 * Purges a throwable, ussually by looking into it's chain. 005 * Usefull for unwrapping WrapEverythingException etc. 006 * 007 * @see DefaultExceptionPurger 008 * @author Geoffrey De Smet 009 * @since 0.3.0 010 */ 011 public interface ExceptionPurger { 012 013 /** 014 * Purges the throwable to unwrap it to find the most suitable throwable to evaluate or handle. 015 * 016 * @param e the root exception or error 017 * @return e or a chained Throwable which is part of e's chain 018 */ 019 Throwable purge(Throwable e); 020 021 }