diff --git a/contentstack/src/main/java/com/contentstack/sdk/Contentstack.java b/contentstack/src/main/java/com/contentstack/sdk/Contentstack.java index 97fe640..5d10650 100755 --- a/contentstack/src/main/java/com/contentstack/sdk/Contentstack.java +++ b/contentstack/src/main/java/com/contentstack/sdk/Contentstack.java @@ -27,7 +27,7 @@ public class Contentstack { private static Contentstack instance; private Contentstack(Context context) { - throw new IllegalStateException("Private constructor not allowed"); + throw new IllegalStateException(ErrorMessages.PRIVATE_CONSTRUCTOR_NOT_ALLOWED); } /** diff --git a/contentstack/src/main/java/com/contentstack/sdk/ErrorMessages.java b/contentstack/src/main/java/com/contentstack/sdk/ErrorMessages.java new file mode 100644 index 0000000..d80a788 --- /dev/null +++ b/contentstack/src/main/java/com/contentstack/sdk/ErrorMessages.java @@ -0,0 +1,33 @@ +package com.contentstack.sdk; + +/** + * Contains all error messages used across the SDK. + * Centralizing messages here makes it easier to maintain and update them. + */ +public final class ErrorMessages { + private ErrorMessages() { + throw new IllegalStateException("Utility class - do not instantiate"); + } + + // Constructor related errors + public static final String PRIVATE_CONSTRUCTOR_NOT_ALLOWED = + "This class does not support private constructors. Use a public constructor to create an instance."; + public static final String UTILITY_CLASS_INSTANTIATION = + "This is a utility class and cannot be instantiated"; + public static final String NODE_TO_HTML_INSTANTIATION = + "Failed to create an instance of NodeToHTML, you can directly access the methods of this class"; + + // Input validation errors + public static final String NULL_OR_EMPTY_INPUT = + "The input value cannot be null or empty. Provide a valid string to continue."; + + // Network and parsing errors + public static final String ENCODING_ERROR = + "The system encountered an encoding issue while processing your request. Try again or contact support."; + public static final String JSON_PARSING_ERROR = + "We couldn't process the response due to a data formatting issue. Try again or contact support if the problem persists."; + + // Cache related errors + public static final String CACHE_INITIALIZATION_ERROR = + "Failed to initialize cache. The application will continue without caching."; +} diff --git a/contentstack/src/main/java/com/contentstack/sdk/InvalidInputException.java b/contentstack/src/main/java/com/contentstack/sdk/InvalidInputException.java index 37720f1..950a101 100644 --- a/contentstack/src/main/java/com/contentstack/sdk/InvalidInputException.java +++ b/contentstack/src/main/java/com/contentstack/sdk/InvalidInputException.java @@ -13,7 +13,7 @@ * * public void processInput(String input) throws InvalidInputException { * if (input == null || input.isEmpty()) { - * throw new InvalidInputException("Input cannot be null or empty"); + * throw new InvalidInputException(ErrorMessages.NULL_OR_EMPTY_INPUT); * } * // Process the input here * } diff --git a/contentstack/src/main/java/com/contentstack/sdk/JSONUTF8Request.java b/contentstack/src/main/java/com/contentstack/sdk/JSONUTF8Request.java index d9bc691..4048673 100755 --- a/contentstack/src/main/java/com/contentstack/sdk/JSONUTF8Request.java +++ b/contentstack/src/main/java/com/contentstack/sdk/JSONUTF8Request.java @@ -24,9 +24,9 @@ protected Response parseNetworkResponse(NetworkResponse response) { String jsonString = new String(response.data, "UTF-8"); return Response.success(new JSONObject(jsonString), HttpHeaderParser.parseCacheHeaders(response)); } catch (UnsupportedEncodingException e) { - return Response.error(new ParseError(e)); + return Response.error(new ParseError(new UnsupportedEncodingException(ErrorMessages.ENCODING_ERROR))); } catch (JSONException je) { - return Response.error(new ParseError(je)); + return Response.error(new ParseError(new JSONException(ErrorMessages.JSON_PARSING_ERROR))); } } diff --git a/contentstack/src/main/java/com/contentstack/sdk/NodeToHTML.java b/contentstack/src/main/java/com/contentstack/sdk/NodeToHTML.java index e290582..21e9e63 100644 --- a/contentstack/src/main/java/com/contentstack/sdk/NodeToHTML.java +++ b/contentstack/src/main/java/com/contentstack/sdk/NodeToHTML.java @@ -4,7 +4,7 @@ public class NodeToHTML { private NodeToHTML() { - throw new IllegalStateException("Could not create instance of NodeToHTML"); + throw new IllegalStateException(ErrorMessages.NODE_TO_HTML_INSTANTIATION); } public static String textNodeToHTML(JSONObject nodeText, Option renderOption) { String text = nodeText.optString("text");