ErrorPage Class — spring-boot Architecture
Architecture documentation for the ErrorPage class in ErrorPage.java from the spring-boot codebase.
Entity Profile
Relationship Graph
Source Code
core/spring-boot/src/main/java/org/springframework/boot/web/error/ErrorPage.java lines 31–134
public class ErrorPage {
private final @Nullable HttpStatus status;
private final @Nullable Class<? extends Throwable> exception;
private final String path;
public ErrorPage(String path) {
this.status = null;
this.exception = null;
this.path = path;
}
public ErrorPage(HttpStatus status, String path) {
this.status = status;
this.exception = null;
this.path = path;
}
public ErrorPage(Class<? extends Throwable> exception, String path) {
this.status = null;
this.exception = exception;
this.path = path;
}
/**
* The path to render (usually implemented as a forward), starting with "/". A custom
* controller or servlet path can be used, or if the server supports it, a template
* path (e.g. "/error.jsp").
* @return the path that will be rendered for this error
*/
public String getPath() {
return this.path;
}
/**
* Returns the exception type (or {@code null} for a page that matches by status).
* @return the exception type or {@code null}
*/
public @Nullable Class<? extends Throwable> getException() {
return this.exception;
}
/**
* The HTTP status value that this error page matches (or {@code null} for a page that
* matches by exception).
* @return the status or {@code null}
*/
public @Nullable HttpStatus getStatus() {
return this.status;
}
/**
* The HTTP status value that this error page matches.
* @return the status value (or 0 for a page that matches any status)
*/
public int getStatusCode() {
return (this.status != null) ? this.status.value() : 0;
}
/**
* The exception type name.
* @return the exception type name (or {@code null} if there is none)
*/
public @Nullable String getExceptionName() {
return (this.exception != null) ? this.exception.getName() : null;
}
/**
* Return if this error page is a global one (matches all unmatched status and
* exception types).
* @return if this is a global error page
*/
public boolean isGlobal() {
return (this.status == null && this.exception == null);
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (obj instanceof ErrorPage other) {
return ObjectUtils.nullSafeEquals(getExceptionName(), other.getExceptionName())
&& ObjectUtils.nullSafeEquals(this.path, other.path) && this.status == other.status;
}
return false;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ObjectUtils.nullSafeHashCode(getExceptionName());
result = prime * result + ObjectUtils.nullSafeHashCode(this.path);
result = prime * result + getStatusCode();
return result;
}
}
Domain
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free