package ${package}.error;
import ${package}.EmptyPage;
import static fiftyfive.wicket.util.Shortcuts.*;
import org.apache.wicket.request.http.WebResponse;
/**
* Base class for custom error pages.
*/
public abstract class BaseErrorPage extends EmptyPage
{
/**
* Error pages are not bookmarkable, hence no PageParameters.
*/
protected BaseErrorPage()
{
super(null);
getBody().add(cssClass("server-error"));
}
/**
* Subclasses must implement to provide the HTTP status error code.
* For example, 404 for the {@link NotFoundErrorPage}.
*/
protected abstract int getErrorCode();
/**
* Make sure we emit the proper HTTP status.
*/
@Override
protected void configureResponse(final WebResponse response)
{
super.configureResponse(response);
response.setStatus(getErrorCode());
}
/**
* Returns {@code true}.
*/
@Override
public boolean isErrorPage()
{
return true;
}
}