package jeffaschenk.commons.exceptions;
/**
* Errors Context Holder Class
*
* @author Jeff
* @version $Id: $
*/
public abstract class ErrorsContextHolder {
private static final ThreadLocal<Errors> errorsHolder = new ThreadLocal<Errors>();
/**
* Clear the errors for the current thread.
*/
public static void clearErrors() {
errorsHolder.set(null);
}
/**
* Assign the given Errors object to the current Thread.
*
* @param errors a {@link Errors} object.
*/
public static void setErrors(Errors errors) {
errorsHolder.set(errors);
}
/**
* <p>getErrors</p>
*
* @return The current Thread's Errors implementation.
*/
public static Errors getErrors() {
Errors errors = errorsHolder.get();
if (errors == null) {
errors = new ErrorsImpl();
setErrors(errors);
}
return errors;
}
}