package hudson.util;
import hudson.model.AdministrativeMonitor;
import hudson.Extension;
/**
* A convenient {@link AdministrativeMonitor} implementations that show an error message
* and optional stack trace. This is useful for notifying a non-fatal error to the administrator.
*
* <p>
* These errors are registered when instances are created. No need to use {@link Extension}.
*
* @author Kohsuke Kawaguchi
*/
public class AdministrativeError extends AdministrativeMonitor {
public final String message;
public final String title;
public final Throwable details;
/**
* @param id
* Unique ID that distinguishes this error from other errors.
* Must remain the same across Hudson executions. Use a caller class name, or something like that.
* @param title
* A title of the problem. This is used as the HTML title
* of the details page. Should be just one sentence, like "ZFS migration error."
* @param message
* A short description of the problem. This is used in the "/manage" page, and can include HTML, but it should be still short.
* @param details
* An exception indicating the problem. The administrator can see this once they click "more details".
*/
public AdministrativeError(String id, String title, String message, Throwable details) {
super(id);
this.message = message;
this.title = title;
this.details = details;
all().add(this);
}
public boolean isActivated() {
return true;
}
}