You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2010/11/19 22:52:13 UTC
svn commit: r1037044 -
/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/lang/Exceptions.java
Author: ivaynberg
Date: Fri Nov 19 21:52:12 2010
New Revision: 1037044
URL: http://svn.apache.org/viewvc?rev=1037044&view=rev
Log:
javadoc
Modified:
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/lang/Exceptions.java
Modified: wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/lang/Exceptions.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/lang/Exceptions.java?rev=1037044&r1=1037043&r2=1037044&view=diff
==============================================================================
--- wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/lang/Exceptions.java (original)
+++ wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/lang/Exceptions.java Fri Nov 19 21:52:12 2010
@@ -27,11 +27,28 @@ public class Exceptions
}
/**
+ * Gets root cause of the throwable
+ *
+ * @param throwable
+ * @return root cause
+ */
+ public Throwable getRootCause(Throwable throwable)
+ {
+ Throwable cursor = throwable;
+ while (cursor.getCause() != null)
+ {
+ cursor = cursor.getCause();
+ }
+ return cursor;
+ }
+
+ /**
+ * Looks for a cause of the specified type in throwable's chain
*
* @param <T>
* @param throwable
* @param causeType
- * @return
+ * @return matched {@link Throwable} in the chain or {@code null} if none
*/
public static <T extends Throwable> T findCause(Throwable throwable, final Class<T> causeType)
{
@@ -81,20 +98,28 @@ public class Exceptions
}
/**
+ * Visitor used to visit {@link Throwable} chains
*
* @param <T>
*/
public static interface IThrowableVisitor<T>
{
+ /**
+ * Visit a throwable
+ *
+ * @param throwable
+ * @param visit
+ */
void visit(Throwable throwable, Visit<T> visit);
}
/**
+ * Visits the {@link Throwable}'s chain
*
* @param <T>
* @param throwable
* @param visitor
- * @return
+ * @return result set on visitor or {@code null} if none
*/
public static <T> T visit(Throwable throwable, IThrowableVisitor<T> visitor)
{