diff --git a/src/java/com/samskivert/util/FailureListener.java b/src/java/com/samskivert/util/FailureListener.java index b9b0a30f..68f012f3 100644 --- a/src/java/com/samskivert/util/FailureListener.java +++ b/src/java/com/samskivert/util/FailureListener.java @@ -27,9 +27,19 @@ package com.samskivert.util; public abstract class FailureListener implements ResultListener { - // documentation inherited from interface ResultListener - public void requestCompleted (T result) + // from interface ResultListener + public final void requestCompleted (T result) { // Yeah, yeah, yeah. You did something. Good for you. } + + /** + * Recasts us to look like we're of a different type. We can safely do this because we know + * that requestCompleted never actually looks at the value passed in. + */ + public FailureListener retype (Class klass) + { + @SuppressWarnings("unchecked") FailureListener casted = (FailureListener)this; + return casted; + } }