Allow ComplainingListener to be properly typed and to use Java's Logger.

git-svn-id: https://samskivert.googlecode.com/svn/trunk@2131 6335cc39-0255-0410-8fd6-9bcaacd3b74c
This commit is contained in:
mdb
2007-07-12 22:30:15 +00:00
parent fc2313687b
commit 7141cf67d1
@@ -3,13 +3,14 @@
package com.samskivert.util; package com.samskivert.util;
import java.util.logging.Level;
import java.util.logging.Logger;
/** /**
* A ResultListener that does nothing on success and logs a warning * A ResultListener that does nothing on success and logs a warning message on failure, that's all.
* message on failure, that's all.
*/ */
public class ComplainingListener public class ComplainingListener<T>
implements ResultListener implements ResultListener<T>
{ {
public ComplainingListener (Log log, String errorText) public ComplainingListener (Log log, String errorText)
{ {
@@ -17,18 +18,33 @@ public class ComplainingListener
_errorText = errorText; _errorText = errorText;
} }
public ComplainingListener (Logger logger, String errorText)
{
_logger = logger;
_errorText = errorText;
}
// documentation inherited from interface ResultListener // documentation inherited from interface ResultListener
public void requestCompleted (Object result) { /* nada */ } public void requestCompleted (T result) { /* nada */ }
// documentation inherited from interface ResultListener // documentation inherited from interface ResultListener
public void requestFailed (Exception cause) public void requestFailed (Exception cause)
{ {
_log.warning(_errorText + " [cause=" + cause + "]."); if (_log != null) {
_log.warning(_errorText + " [cause=" + cause + "].");
} else if (_logger != null) {
_logger.log(Level.WARNING, _errorText, cause);
} else {
System.err.println(_errorText + " [cause=" + cause + "].");
}
} }
/** The log to which we'll log our error. */ /** The log to which we'll log our error, may be null. */
protected Log _log; protected Log _log;
/** The logger to which we'll log our error, may be null. */
protected Logger _logger;
/** The text to output if the error happens. */ /** The text to output if the error happens. */
protected String _errorText; protected String _errorText;
} }