Package com.nimbusds.oauth2.sdk
Class ErrorObject
- java.lang.Object
-
- com.nimbusds.oauth2.sdk.ErrorObject
-
- Direct Known Subclasses:
BearerTokenError
,FederationAPIError
@Immutable public class ErrorObject extends Object
Error object, used to encapsulate OAuth 2.0 and other errors.Example error object as HTTP response:
HTTP/1.1 400 Bad Request Content-Type: application/json;charset=UTF-8 Cache-Control: no-store Pragma: no-cache { "error" : "invalid_request" }
-
-
Constructor Summary
Constructors Constructor Description ErrorObject(String code)
Creates a new error with the specified code.ErrorObject(String code, String description)
Creates a new error with the specified code and description.ErrorObject(String code, String description, int httpStatusCode)
Creates a new error with the specified code, description and HTTP status code.ErrorObject(String code, String description, int httpStatusCode, URI uri)
Creates a new error with the specified code, description, HTTP status code and page URI.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ErrorObject
appendDescription(String text)
Appends the specified text to the error description.boolean
equals(Object object)
String
getCode()
Returns the error code.String
getDescription()
Returns the error description.int
getHTTPStatusCode()
Returns the HTTP status code.URI
getURI()
Returns the error page URI.int
hashCode()
static boolean
isLegal(char c)
Returnstrue
if the specified char is within the legal ranges [0x20, 0x21] | [0x23 - 0x5B] | [0x5D - 0x7E] for OAuth 2.0 error codes and messages.static boolean
isLegal(String s)
Returnstrue
if the characters in the specified string are within theisLegal(char)
legal ranges} for OAuth 2.0 error codes and messages.static ErrorObject
parse(HTTPResponse httpResponse)
Parses an error object from the specified HTTP response.static ErrorObject
parse(Map<String,List<String>> params)
Parses an error object from the specified parameters representation.static ErrorObject
parse(net.minidev.json.JSONObject jsonObject)
Parses an error object from the specified JSON object.ErrorObject
setDescription(String description)
Sets the error description.ErrorObject
setHTTPStatusCode(int httpStatusCode)
Sets the HTTP status code.ErrorObject
setURI(URI uri)
Sets the error page URI.HTTPResponse
toHTTPResponse()
Returns an HTTP response for this error object.net.minidev.json.JSONObject
toJSONObject()
Returns a JSON object representation of this error object.Map<String,List<String>>
toParameters()
Returns a parameters representation of this error object.String
toString()
-
-
-
Constructor Detail
-
ErrorObject
public ErrorObject(String code)
Creates a new error with the specified code. The code must be within thelegal
character range.- Parameters:
code
- The error code,null
if not specified.
-
ErrorObject
public ErrorObject(String code, String description)
Creates a new error with the specified code and description. The code and the description must be within thelegal
character range.- Parameters:
code
- The error code,null
if not specified.description
- The error description,null
if not specified.
-
ErrorObject
public ErrorObject(String code, String description, int httpStatusCode)
Creates a new error with the specified code, description and HTTP status code. The code and the description must be within thelegal
character range.- Parameters:
code
- The error code,null
if not specified.description
- The error description,null
if not specified.httpStatusCode
- The HTTP status code, zero if not specified.
-
ErrorObject
public ErrorObject(String code, String description, int httpStatusCode, URI uri)
Creates a new error with the specified code, description, HTTP status code and page URI. The code and the description must be within thelegal
character range.- Parameters:
code
- The error code,null
if not specified.description
- The error description,null
if not specified.httpStatusCode
- The HTTP status code, zero if not specified.uri
- The error page URI,null
if not specified.
-
-
Method Detail
-
getCode
public String getCode()
Returns the error code.- Returns:
- The error code,
null
if not specified.
-
getDescription
public String getDescription()
Returns the error description.- Returns:
- The error description,
null
if not specified.
-
setDescription
public ErrorObject setDescription(String description)
Sets the error description.- Parameters:
description
- The error description,null
if not specified.- Returns:
- A copy of this error with the specified description.
-
appendDescription
public ErrorObject appendDescription(String text)
Appends the specified text to the error description.- Parameters:
text
- The text to append to the error description,null
if not specified.- Returns:
- A copy of this error with the specified appended description.
-
getHTTPStatusCode
public int getHTTPStatusCode()
Returns the HTTP status code.- Returns:
- The HTTP status code, zero if not specified.
-
setHTTPStatusCode
public ErrorObject setHTTPStatusCode(int httpStatusCode)
Sets the HTTP status code.- Parameters:
httpStatusCode
- The HTTP status code, zero if not specified.- Returns:
- A copy of this error with the specified HTTP status code.
-
getURI
public URI getURI()
Returns the error page URI.- Returns:
- The error page URI,
null
if not specified.
-
setURI
public ErrorObject setURI(URI uri)
Sets the error page URI.- Parameters:
uri
- The error page URI,null
if not specified.- Returns:
- A copy of this error with the specified page URI.
-
toJSONObject
public net.minidev.json.JSONObject toJSONObject()
Returns a JSON object representation of this error object.Example:
{ "error" : "invalid_grant", "error_description" : "Invalid resource owner credentials" }
- Returns:
- The JSON object.
-
toParameters
public Map<String,List<String>> toParameters()
Returns a parameters representation of this error object. Suitable for URL-encoded error responses.- Returns:
- The parameters.
-
toHTTPResponse
public HTTPResponse toHTTPResponse()
Returns an HTTP response for this error object. If no HTTP status code is specified it will be set to 400 (Bad Request). If an error code is specified theContent-Type
header will be set toapplication/json; charset=UTF-8
and the error JSON object will be put in the entity body.- Returns:
- The HTTP response.
-
parse
public static ErrorObject parse(net.minidev.json.JSONObject jsonObject)
Parses an error object from the specified JSON object.- Parameters:
jsonObject
- The JSON object to parse. Must not benull
.- Returns:
- The error object.
-
parse
public static ErrorObject parse(Map<String,List<String>> params)
Parses an error object from the specified parameters representation. Suitable for URL-encoded error responses.- Parameters:
params
- The parameters. Must not benull
.- Returns:
- The error object.
-
parse
public static ErrorObject parse(HTTPResponse httpResponse)
Parses an error object from the specified HTTP response.- Parameters:
httpResponse
- The HTTP response to parse. Must not benull
.- Returns:
- The error object.
-
isLegal
public static boolean isLegal(String s)
Returnstrue
if the characters in the specified string are within theisLegal(char)
legal ranges} for OAuth 2.0 error codes and messages.See RFC 6749, section 5.2.
- Parameters:
s
- The string to check. May be benull
.- Returns:
true
if the string is legal, elsefalse
.
-
isLegal
public static boolean isLegal(char c)
Returnstrue
if the specified char is within the legal ranges [0x20, 0x21] | [0x23 - 0x5B] | [0x5D - 0x7E] for OAuth 2.0 error codes and messages.See RFC 6749, section 5.2.
- Parameters:
c
- The character to check. Must not benull
.- Returns:
true
if the character is legal, elsefalse
.
-
-