Package com.castlabs.android.drm
Class DrmTodayException
- java.lang.Object
-
- java.lang.Throwable
-
- java.lang.Exception
-
- com.castlabs.android.drm.DrmTodayException
-
- All Implemented Interfaces:
Serializable
public class DrmTodayException extends Exception
Use this Exception class to report any errors from DrmToday services. The exception is initialized with an error code which is one of:ERROR_NOT_AUTHORIZED
,ERROR_INVALID_REQUEST
,ERROR_KEY_NOT_FOUND
,ERROR_PROVISIONING_FAILED
,ERROR_TOO_MANY_CONCURRENT_SESSIONS
, orERROR_UNKNOWN
.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
DrmTodayException.ErrorCode
-
Field Summary
Fields Modifier and Type Field Description static int
ERROR_DEVICE_TIME
A device time error occurredstatic int
ERROR_INVALID_REQUEST
Error indicating an invalid request that was rejected by the serverstatic int
ERROR_IO_ERROR
Error indicating that an IO error occurred during the license request.static int
ERROR_KEY_NOT_FOUND
Error indicating that the requested content was not foundstatic int
ERROR_NOT_AUTHORIZED
Error indicating an unauthorized requeststatic int
ERROR_PROVISIONING_FAILED
Error indicating that the provisioning request failed.static int
ERROR_TOO_MANY_CONCURRENT_SESSIONS
Error raised when DRMtoday refuses license renewal due to too many open sessionsstatic int
ERROR_UNKNOWN
Error indicating a general errorstatic int
ERROR_WIDEVINE_DEV_CERTIFICATE_REVOKED
A device's Widevine certificate was revoked
-
Constructor Summary
Constructors Constructor Description DrmTodayException(String message, int errorCode)
Create a new instance with the given message and error errorCodeDrmTodayException(String message, int errorCode, String customMessage)
Create a new instance with the given message and error errorCodeDrmTodayException(String message, int errorCode, Throwable cause)
Create a new instance with the given message and error errorCode
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static DrmTodayException
create(int responseCode, String responseBody, Map<String,List<String>> responseHeaders, Throwable cause)
Looks at the response code, the response body, and the headers and returns a DRMtoday Exception that maps to the given error.String
getCustomCode()
String
getCustomMessage()
int
getErrorCode()
String
toString()
-
Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace
-
-
-
-
Field Detail
-
ERROR_UNKNOWN
public static final int ERROR_UNKNOWN
Error indicating a general error- See Also:
- Constant Field Values
-
ERROR_INVALID_REQUEST
public static final int ERROR_INVALID_REQUEST
Error indicating an invalid request that was rejected by the server- See Also:
- Constant Field Values
-
ERROR_NOT_AUTHORIZED
public static final int ERROR_NOT_AUTHORIZED
Error indicating an unauthorized request- See Also:
- Constant Field Values
-
ERROR_KEY_NOT_FOUND
public static final int ERROR_KEY_NOT_FOUND
Error indicating that the requested content was not found- See Also:
- Constant Field Values
-
ERROR_IO_ERROR
public static final int ERROR_IO_ERROR
Error indicating that an IO error occurred during the license request. This cause of this exception will be anIOException
- See Also:
- Constant Field Values
-
ERROR_PROVISIONING_FAILED
public static final int ERROR_PROVISIONING_FAILED
Error indicating that the provisioning request failed. Error of this type can also have anIOException
as cause.- See Also:
- Constant Field Values
-
ERROR_TOO_MANY_CONCURRENT_SESSIONS
public static final int ERROR_TOO_MANY_CONCURRENT_SESSIONS
Error raised when DRMtoday refuses license renewal due to too many open sessions- See Also:
- Constant Field Values
-
ERROR_DEVICE_TIME
public static final int ERROR_DEVICE_TIME
A device time error occurred- See Also:
- Constant Field Values
-
ERROR_WIDEVINE_DEV_CERTIFICATE_REVOKED
public static final int ERROR_WIDEVINE_DEV_CERTIFICATE_REVOKED
A device's Widevine certificate was revoked- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DrmTodayException
public DrmTodayException(@NonNull String message, int errorCode)
Create a new instance with the given message and error errorCode- Parameters:
message
- the error messageerrorCode
- the error errorCode
-
DrmTodayException
public DrmTodayException(@NonNull String message, int errorCode, @Nullable String customMessage)
Create a new instance with the given message and error errorCode- Parameters:
message
- the error messageerrorCode
- the error errorCodecustomMessage
- the custom message
-
-
Method Detail
-
getErrorCode
public int getErrorCode()
- Returns:
- The error code. One of
ERROR_NOT_AUTHORIZED
,ERROR_INVALID_REQUEST
,ERROR_UNKNOWN
,ERROR_TOO_MANY_CONCURRENT_SESSIONS
, orERROR_KEY_NOT_FOUND
-
getCustomMessage
@Nullable public String getCustomMessage()
- Returns:
- The custom CRT error message or null
-
getCustomCode
@Nullable public String getCustomCode()
- Returns:
- DrmToday response code string
-
create
@NonNull public static DrmTodayException create(int responseCode, @Nullable String responseBody, @Nullable Map<String,List<String>> responseHeaders, @Nullable Throwable cause)
Looks at the response code, the response body, and the headers and returns a DRMtoday Exception that maps to the given error.- Parameters:
responseCode
- The HTTP response coderesponseBody
- The response bodyresponseHeaders
- The response headerscause
- The cause if applicable- Returns:
- The DrmTodayException
-
-