Class JsonBindingObjException

    • Constructor Summary

      Constructors 
      Constructor Description
      JsonBindingObjException​(String message, Throwable cause, JsonObject errorSourceJsonObject, String propertyName, JsonValue.ValueType expectedJsonType, JsonValue valueRetrieved, Class<?> methodReturnJavaType)
      Constructs a new JsonBindingObjException with the specified detail message and cause

      NOTE: The detail message associated with cause is not automatically incorporated in this exception's detail message.
      JsonBindingObjException​(String message, JsonObject errorSourceJsonObject, String propertyName, JsonValue.ValueType expectedJsonType, JsonValue valueRetrieved, Class<?> methodReturnJavaType)
      Constructs a JsonBindingObjException with the specified detail message, and user-provided convenience-field values.
      JsonBindingObjException​(Throwable cause, JsonObject errorSourceJsonObject, String propertyName, JsonValue.ValueType expectedJsonType, JsonValue valueRetrieved, Class<?> methodReturnJavaType, String endingNote)
      Constructs a new JsonBindingObjException with the specified cause and a detail message of (cause==null ? null : cause.toString()) (which typically contains the class and detail message of cause).
      JsonBindingObjException​(JsonObject errorSourceJsonObject, String propertyName, JsonValue.ValueType expectedJsonType, JsonValue valueRetrieved, Class<?> methodReturnJavaType, String endingNote)
      Constructs a JsonBindingObjException with no specified detail messsage, and the user-provided convenience-field values.
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method
      protected static String BASE_MESSAGE_OBJ​(JsonObject errorSourceJsonObject, String propertyName, JsonValue.ValueType expectedJsonType, JsonValue valueRetrieved, Class<?> methodReturnJavaType, String endingNote, Throwable... causes)
      • Methods inherited from class java.lang.Throwable

        addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • serialVersionUID

        🡇     🗕  🗗  🗖
        public static final long serialVersionUID
        This fulfils the SerialVersion UID requirement for all classes that implement Java's interface java.io.Serializable. Using the Serializable Implementation offered by java is very easy, and can make saving program state when debugging a lot easier. It can also be used in place of more complicated systems like "hibernate" to store data as well.

        Note that Java's java.lang.Exception and java.lang.Error classes implement the Serializable interface, and a warning-free build expects this field be defined here.
        See Also:
        Constant Field Values
        Code:
        Exact Field Declaration Expression:
         public static final long serialVersionUID = 1;
        
      • propertyName

        🡅  🡇     🗕  🗗  🗖
        public final java.lang.String propertyName
        This field is provided to the user as a matter of convenience. All instances of this Exception ought to guarantee that when an instance is thrown - any & all "Convenience Fields" have been properly set.

        If this package is extended, or if this exception is used elsewhere, try to remember to not to accidentally leave this field null when using this class' constructors.

        In Summary:
        All this is really trying to explain is that, when debugging your code, if in the analysis of a particular Exception, that analysis causes another exception throw (NullPointerException) - BECAUSE THIS CONVENIENCE FIELD WAS LEFT NULL - you would likely get pretty angry.

        The JsonObject property-name that has caused this exception to throw.
    • Constructor Detail

      • JsonBindingObjException

        🡅  🡇     🗕  🗗  🗖
        public JsonBindingObjException​(JsonObject errorSourceJsonObject,
                                       java.lang.String propertyName,
                                       JsonValue.ValueType expectedJsonType,
                                       JsonValue valueRetrieved,
                                       java.lang.Class<?> methodReturnJavaType,
                                       java.lang.String endingNote)
        Constructs a JsonBindingObjException with no specified detail messsage, and the user-provided convenience-field values.
        Parameters:
        errorSourceJsonObject - The JsonObject from which the property is being retrieved / extracted.
        propertyName - This is the property-name into the JsonObject from which the property is being retrieved / extracted.
        expectedJsonType - This is the Json-Type that was expected to be retrieved from JsonObject.
        valueRetrieved - This is the JsonValue that was extracted from the JsonObject which caused an exception. Note that if the entity did not exist, then this parameter will be Java-Null. If Json-Null was found, then this parameter should be JsonValue.NULL
        methodReturnJavaType - Class ReadJSON will always provide the ultimate Java-Type that is to be returned by the method where this exception is being thrown.
        endingNote - The distinct message for the exception sub-class.
      • JsonBindingObjException

        🡅  🡇     🗕  🗗  🗖
        public JsonBindingObjException​(java.lang.String message,
                                       JsonObject errorSourceJsonObject,
                                       java.lang.String propertyName,
                                       JsonValue.ValueType expectedJsonType,
                                       JsonValue valueRetrieved,
                                       java.lang.Class<?> methodReturnJavaType)
        Constructs a JsonBindingObjException with the specified detail message, and user-provided convenience-field values.
        Parameters:
        message - the detail message.
        errorSourceJsonObject - The JsonObject from which the property is being retrieved / extracted.
        propertyName - This is the property-name into the JsonObject from which the property is being retrieved / extracted.
        expectedJsonType - This is the Json-Type that was expected to be retrieved from JsonObject.
        valueRetrieved - This is the JsonValue that was extracted from the JsonObject which caused an exception. Note that if the entity did not exist, then this parameter will be Java-Null. If Json-Null was found, then this parameter should be JsonValue.NULL
        methodReturnJavaType - Class ReadJSON will always provide the ultimate Java-Type that is to be returned by the method where this exception is being thrown.
      • JsonBindingObjException

        🡅  🡇     🗕  🗗  🗖
        public JsonBindingObjException​(java.lang.String message,
                                       java.lang.Throwable cause,
                                       JsonObject errorSourceJsonObject,
                                       java.lang.String propertyName,
                                       JsonValue.ValueType expectedJsonType,
                                       JsonValue valueRetrieved,
                                       java.lang.Class<?> methodReturnJavaType)
        Constructs a new JsonBindingObjException with the specified detail message and cause

        NOTE: The detail message associated with cause is not automatically incorporated in this exception's detail message.
        Parameters:
        message - The detail message (which is saved for later retrieval by the Throwable.getMessage() method).
        cause - the cause (which is saved for later retrieval by the Throwable.getCause() method). (A null value is permitted, and indicates that the cause is nonexistent or unknown.)
        errorSourceJsonObject - The JsonObject from which the property is being retrieved / extracted.
        propertyName - This is the property-name into the JsonObject from which the property is being retrieved / extracted.
        expectedJsonType - This is the Json-Type that was expected to be retrieved from JsonObject.
        valueRetrieved - This is the JsonValue that was extracted from the JsonObject which caused an exception. Note that if the entity did not exist, then this parameter will be Java-Null. If Json-Null was found, then this parameter should be JsonValue.NULL
        methodReturnJavaType - Class ReadJSON will always provide the ultimate Java-Type that is to be returned by the method where this exception is being thrown.
      • JsonBindingObjException

        🡅  🡇     🗕  🗗  🗖
        public JsonBindingObjException​(java.lang.Throwable cause,
                                       JsonObject errorSourceJsonObject,
                                       java.lang.String propertyName,
                                       JsonValue.ValueType expectedJsonType,
                                       JsonValue valueRetrieved,
                                       java.lang.Class<?> methodReturnJavaType,
                                       java.lang.String endingNote)
        Constructs a new JsonBindingObjException with the specified cause and a detail message of (cause==null ? null : cause.toString()) (which typically contains the class and detail message of cause). This constructor is useful for exceptions that are little more than wrappers for other throwables.
        Parameters:
        cause - The cause (which is saved for later retrieval by the Throwable.getCause() method). (A null value is permitted, and indicates that the cause is nonexistent or unknown.)
        errorSourceJsonObject - The JsonObject from which the property is being retrieved / extracted.
        propertyName - This is the property-name into the JsonObject from which the property is being retrieved / extracted.
        expectedJsonType - This is the Json-Type that was expected to be retrieved from JsonObject.
        valueRetrieved - This is the JsonValue that was extracted from the JsonObject which caused an exception. Note that if the entity did not exist, then this parameter will be Java-Null. If Json-Null was found, then this parameter should be JsonValue.NULL
        methodReturnJavaType - Class ReadJSON will always provide the ultimate Java-Type that is to be returned by the method where this exception is being thrown.
        endingNote - The distinct message for the exception sub-class.
    • Method Detail

      • BASE_MESSAGE_OBJ

        🡅     🗕  🗗  🗖
        protected static java.lang.String BASE_MESSAGE_OBJ​
                    (JsonObject errorSourceJsonObject,
                     java.lang.String propertyName,
                     JsonValue.ValueType expectedJsonType,
                     JsonValue valueRetrieved,
                     java.lang.Class<?> methodReturnJavaType,
                     java.lang.String endingNote,
                     java.lang.Throwable... causes)
        
        A simple helper method for printing a consistent error messge using the input-data convenience fields of JsonArray's.
        Parameters:
        errorSourceJsonObject - The JsonObject from which the property is being retrieved / extracted.
        propertyName - This is the property-name into the JsonObject from which the property is being retrieved / extracted.
        expectedJsonType - This is the Json-Type that was expected to be retrieved from JsonObject.
        valueRetrieved - This is the JsonValue that was extracted from the JsonObject which caused an exception. Note that if the entity did not exist, then this parameter will be Java-Null. If Json-Null was found, then this parameter should be JsonValue.NULL
        methodReturnJavaType - Class ReadJSON will always provide the ultimate Java-Type that is to be returned by the method where this exception is being thrown.
        endingNote - The distinct message for the exception sub-class.
        causes - Optional Parameter. At most 1 cause is printed.
        Returns:
        The error message String.
        Code:
        Exact Method Body:
         return 
             ((endingNote != null) ? endingNote : "") +"\n" +
             CAUSE_MESSAGE(causes) +
             "\tFound In JsonObject:      " + ABBREV_STRUCT(errorSourceJsonObject) + "\n" +
             "\tProperty-Name:            " + propertyName + "\n" +
             "\tExpected Json-Type:       " + JT_STR(expectedJsonType) + "\n" +
             "\tContained JsonValue:      " + ABBREV_VAL(valueRetrieved) + "\n" +
             "\tHaving Actual Json-Type:  " + JT_STR((valueRetrieved != null)
                     ? valueRetrieved.getValueType()
                     : null
                 ) + "\n" +
             "\tConverting To Java-Type:  " + ((methodReturnJavaType != null)
                     ? methodReturnJavaType.getCanonicalName()
                     : "Java-Type Unknown"
                 );