- java.lang.Object
-
- java.lang.Throwable
-
- java.lang.Exception
-
- java.lang.RuntimeException
-
- jakarta.ws.rs.WebApplicationException
-
- All Implemented Interfaces:
java.io.Serializable
- Direct Known Subclasses:
ClientErrorException
,RedirectionException
,ServerErrorException
public class WebApplicationException extends java.lang.RuntimeException
Runtime exception for applications.This exception may be thrown by a resource method, provider or
StreamingOutput
implementation if a specific HTTP error response needs to be produced. Only effective if thrown prior to the response being committed.- Since:
- 1.0
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private Response
response
private static long
serialVersionUID
-
Constructor Summary
Constructors Constructor Description WebApplicationException()
Construct a new instance with a default HTTP status code of 500 and a default message generated from the HTTP status code and the associated HTTP status reason phrase.WebApplicationException(int status)
Construct a new instance with the supplied HTTP status code and a default message generated from the HTTP status code and the associated HTTP status reason phrase.WebApplicationException(Response response)
Construct a new instance using the supplied response and a default message generated from the response's HTTP status code and the associated HTTP status reason phrase.WebApplicationException(Response.Status status)
Construct a new instance with the supplied HTTP status and a default message generated from the HTTP status code and the associated HTTP status reason phrase.WebApplicationException(java.lang.String message)
Construct a new instance with the supplied message and a default HTTP status code of 500.WebApplicationException(java.lang.String message, int status)
Construct a new instance with a supplied message and HTTP status code.WebApplicationException(java.lang.String message, Response response)
Construct a new instance using the supplied message and response.WebApplicationException(java.lang.String message, Response.Status status)
Construct a new instance with the supplied message and HTTP status.WebApplicationException(java.lang.String message, java.lang.Throwable cause)
Construct a new instance with the supplied message, root cause and default HTTP status code of 500.WebApplicationException(java.lang.String message, java.lang.Throwable cause, int status)
Construct a new instance with the supplied message, root cause and HTTP status code.WebApplicationException(java.lang.String message, java.lang.Throwable cause, Response response)
Construct a new instance with the supplied message, root cause and response.WebApplicationException(java.lang.String message, java.lang.Throwable cause, Response.Status status)
Construct a new instance with a the supplied message, root cause and HTTP status code.WebApplicationException(java.lang.Throwable cause)
Construct a new instance with the supplied root cause, default HTTP status code of 500 and a default message generated from the HTTP status code and the associated HTTP status reason phrase.WebApplicationException(java.lang.Throwable cause, int status)
Construct a new instance with the supplied root cause, HTTP status code and a default message generated from the HTTP status code and the associated HTTP status reason phrase.WebApplicationException(java.lang.Throwable cause, Response response)
Construct a new instance with the supplied root cause, response and a default message generated from the response's HTTP status code and the associated HTTP status reason phrase.WebApplicationException(java.lang.Throwable cause, Response.Status status)
Construct a new instance with the supplied root cause, HTTP status code and a default message generated from the HTTP status code and the associated HTTP status reason phrase.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static java.lang.String
computeExceptionMessage(Response response)
Response
getResponse()
Get the HTTP response.(package private) static Response
validate(Response response, Response.Status expectedStatus)
Validate that aResponse
object has an expected HTTP response status code set.(package private) static Response
validate(Response response, Response.Status.Family expectedStatusFamily)
Validate that aResponse
object has an expected HTTP response status code set.
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
response
private final transient Response response
-
-
Constructor Detail
-
WebApplicationException
public WebApplicationException()
Construct a new instance with a default HTTP status code of 500 and a default message generated from the HTTP status code and the associated HTTP status reason phrase.
-
WebApplicationException
public WebApplicationException(java.lang.String message)
Construct a new instance with the supplied message and a default HTTP status code of 500.- Parameters:
message
- the detail message (which is saved for later retrieval by theThrowable.getMessage()
method).- Since:
- 2.0
-
WebApplicationException
public WebApplicationException(Response response)
Construct a new instance using the supplied response and a default message generated from the response's HTTP status code and the associated HTTP status reason phrase.- Parameters:
response
- the response that will be returned to the client, a value of null will be replaced with an internal server error response (status code 500).
-
WebApplicationException
public WebApplicationException(java.lang.String message, Response response)
Construct a new instance using the supplied message and response.- Parameters:
message
- the detail message (which is saved for later retrieval by theThrowable.getMessage()
method).response
- the response that will be returned to the client, a value of null will be replaced with an internal server error response (status code 500).- Since:
- 2.0
-
WebApplicationException
public WebApplicationException(int status)
Construct a new instance with the supplied HTTP status code and a default message generated from the HTTP status code and the associated HTTP status reason phrase.- Parameters:
status
- the HTTP status code that will be returned to the client.
-
WebApplicationException
public WebApplicationException(java.lang.String message, int status)
Construct a new instance with a supplied message and HTTP status code.- Parameters:
message
- the detail message (which is saved for later retrieval by theThrowable.getMessage()
method).status
- the HTTP status code that will be returned to the client.- Since:
- 2.0
-
WebApplicationException
public WebApplicationException(Response.Status status)
Construct a new instance with the supplied HTTP status and a default message generated from the HTTP status code and the associated HTTP status reason phrase.- Parameters:
status
- the HTTP status code that will be returned to the client.- Throws:
java.lang.IllegalArgumentException
- if status isnull
.
-
WebApplicationException
public WebApplicationException(java.lang.String message, Response.Status status)
Construct a new instance with the supplied message and HTTP status.- Parameters:
message
- the detail message (which is saved for later retrieval by theThrowable.getMessage()
method).status
- the HTTP status code that will be returned to the client.- Throws:
java.lang.IllegalArgumentException
- if status isnull
.- Since:
- 2.0
-
WebApplicationException
public WebApplicationException(java.lang.Throwable cause)
Construct a new instance with the supplied root cause, default HTTP status code of 500 and a default message generated from the HTTP status code and the associated HTTP status reason phrase.- Parameters:
cause
- the underlying cause of the exception.
-
WebApplicationException
public WebApplicationException(java.lang.String message, java.lang.Throwable cause)
Construct a new instance with the supplied message, root cause and default HTTP status code of 500.- Parameters:
message
- the detail message (which is saved for later retrieval by theThrowable.getMessage()
method).cause
- the underlying cause of the exception.- Since:
- 2.0
-
WebApplicationException
public WebApplicationException(java.lang.Throwable cause, Response response)
Construct a new instance with the supplied root cause, response and a default message generated from the response's HTTP status code and the associated HTTP status reason phrase.- Parameters:
response
- the response that will be returned to the client, a value of null will be replaced with an internal server error response (status code 500).cause
- the underlying cause of the exception.
-
WebApplicationException
public WebApplicationException(java.lang.String message, java.lang.Throwable cause, Response response)
Construct a new instance with the supplied message, root cause and response.- Parameters:
message
- the detail message (which is saved for later retrieval by theThrowable.getMessage()
method).response
- the response that will be returned to the client, a value of null will be replaced with an internal server error response (status code 500).cause
- the underlying cause of the exception.- Since:
- 2.0
-
WebApplicationException
public WebApplicationException(java.lang.Throwable cause, int status)
Construct a new instance with the supplied root cause, HTTP status code and a default message generated from the HTTP status code and the associated HTTP status reason phrase.- Parameters:
status
- the HTTP status code that will be returned to the client.cause
- the underlying cause of the exception.
-
WebApplicationException
public WebApplicationException(java.lang.String message, java.lang.Throwable cause, int status)
Construct a new instance with the supplied message, root cause and HTTP status code.- Parameters:
message
- the detail message (which is saved for later retrieval by theThrowable.getMessage()
method).status
- the HTTP status code that will be returned to the client.cause
- the underlying cause of the exception.- Since:
- 2.0
-
WebApplicationException
public WebApplicationException(java.lang.Throwable cause, Response.Status status) throws java.lang.IllegalArgumentException
Construct a new instance with the supplied root cause, HTTP status code and a default message generated from the HTTP status code and the associated HTTP status reason phrase.- Parameters:
status
- the HTTP status code that will be returned to the client.cause
- the underlying cause of the exception.- Throws:
java.lang.IllegalArgumentException
- if status isnull
.
-
WebApplicationException
public WebApplicationException(java.lang.String message, java.lang.Throwable cause, Response.Status status) throws java.lang.IllegalArgumentException
Construct a new instance with a the supplied message, root cause and HTTP status code.- Parameters:
message
- the detail message (which is saved for later retrieval by theThrowable.getMessage()
method).status
- the HTTP status code that will be returned to the client.cause
- the underlying cause of the exception.- Throws:
java.lang.IllegalArgumentException
- if status isnull
.- Since:
- 2.0
-
-
Method Detail
-
computeExceptionMessage
private static java.lang.String computeExceptionMessage(Response response)
-
getResponse
public Response getResponse()
Get the HTTP response.- Returns:
- the HTTP response.
-
validate
static Response validate(Response response, Response.Status expectedStatus)
Validate that aResponse
object has an expected HTTP response status code set.- Parameters:
response
- response object.expectedStatus
- expected response status code.- Returns:
- validated response object.
- Throws:
java.lang.IllegalArgumentException
- if the response validation failed.- Since:
- 2.0
-
validate
static Response validate(Response response, Response.Status.Family expectedStatusFamily)
Validate that aResponse
object has an expected HTTP response status code set.- Parameters:
response
- response object.expectedStatusFamily
- expected response status code family.- Returns:
- validated response object.
- Throws:
java.lang.IllegalArgumentException
- if the response validation failed.- Since:
- 2.0
-
-