summaryrefslogtreecommitdiff
path: root/src/main/java/com/p4square/ccbapi/exception
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/p4square/ccbapi/exception')
-rw-r--r--src/main/java/com/p4square/ccbapi/exception/CCBErrorResponseException.java24
-rw-r--r--src/main/java/com/p4square/ccbapi/exception/CCBException.java16
-rw-r--r--src/main/java/com/p4square/ccbapi/exception/CCBParseException.java14
-rw-r--r--src/main/java/com/p4square/ccbapi/exception/CCBRetryableErrorException.java12
4 files changed, 66 insertions, 0 deletions
diff --git a/src/main/java/com/p4square/ccbapi/exception/CCBErrorResponseException.java b/src/main/java/com/p4square/ccbapi/exception/CCBErrorResponseException.java
new file mode 100644
index 0000000..dd13f75
--- /dev/null
+++ b/src/main/java/com/p4square/ccbapi/exception/CCBErrorResponseException.java
@@ -0,0 +1,24 @@
+package com.p4square.ccbapi.exception;
+
+import com.p4square.ccbapi.model.CCBErrorResponse;
+
+import java.util.List;
+
+/**
+ * CCBErrorResponseException is thrown when the CCB API returns one or more error responses.
+ */
+public class CCBErrorResponseException extends CCBException {
+ private final List<CCBErrorResponse> errors;
+
+ public CCBErrorResponseException(List<CCBErrorResponse> errors) {
+ super("CCB API service responded with errors: " + errors);
+ this.errors = errors;
+ }
+
+ /**
+ * @return The error response returned by the service.
+ */
+ public List<CCBErrorResponse> getErrors() {
+ return errors;
+ }
+}
diff --git a/src/main/java/com/p4square/ccbapi/exception/CCBException.java b/src/main/java/com/p4square/ccbapi/exception/CCBException.java
new file mode 100644
index 0000000..6d74ea4
--- /dev/null
+++ b/src/main/java/com/p4square/ccbapi/exception/CCBException.java
@@ -0,0 +1,16 @@
+package com.p4square.ccbapi.exception;
+
+import java.io.IOException;
+
+/**
+ * Common exception class for all CCB API library exceptions.
+ */
+public class CCBException extends IOException {
+ public CCBException(String message) {
+ super(message);
+ }
+
+ public CCBException(String message, Throwable cause) {
+ super(message, cause);
+ }
+}
diff --git a/src/main/java/com/p4square/ccbapi/exception/CCBParseException.java b/src/main/java/com/p4square/ccbapi/exception/CCBParseException.java
new file mode 100644
index 0000000..aee0e34
--- /dev/null
+++ b/src/main/java/com/p4square/ccbapi/exception/CCBParseException.java
@@ -0,0 +1,14 @@
+package com.p4square.ccbapi.exception;
+
+/**
+ * CCBParseException is thrown when a response from CCB cannot be parsed.
+ */
+public class CCBParseException extends CCBException {
+ public CCBParseException(String message) {
+ super(message);
+ }
+
+ public CCBParseException(String message, Throwable cause) {
+ super(message, cause);
+ }
+}
diff --git a/src/main/java/com/p4square/ccbapi/exception/CCBRetryableErrorException.java b/src/main/java/com/p4square/ccbapi/exception/CCBRetryableErrorException.java
new file mode 100644
index 0000000..c222662
--- /dev/null
+++ b/src/main/java/com/p4square/ccbapi/exception/CCBRetryableErrorException.java
@@ -0,0 +1,12 @@
+package com.p4square.ccbapi.exception;
+
+/**
+ * CCBRetryableErrorException is thrown when a retryable error is received.
+ *
+ * The caller may retry the request with an appropriate back-off.
+ */
+public class CCBRetryableErrorException extends CCBException {
+ public CCBRetryableErrorException(final String message) {
+ super(message);
+ }
+}