org.beangle.security.web.util.ThrowableCauseExtractor Maven / Gradle / Ivy
/*
* Beangle, Agile Java/Scala Development Scaffold and Toolkit
*
* Copyright (c) 2005-2012, Beangle Software.
*
* Beangle is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Beangle is distributed in the hope that it will be useful.
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Beangle. If not, see .
*/
package org.beangle.security.web.util;
/**
* Interface for handlers extracting the cause out of a specific {@link Throwable} type.
*
* @author Andreas Senft
* @since 2.0
* @version $Id: ThrowableCauseExtractor.java 2559 2008-01-30 16:15:02Z $
* @see ThrowableAnalyzer
*/
public interface ThrowableCauseExtractor {
/**
* Extracts the cause from the provided Throwable
.
*
* @param throwable
* the Throwable
* @return the extracted cause (maybe null
)
* @throws IllegalArgumentException
* if throwable
is null
or otherwise
* considered invalid for the implementation
*/
Throwable extractCause(Throwable throwable);
}