Package Torello.Java.Additional
Class JsonBindingException
- java.lang.Object
-
- java.lang.Throwable
-
- java.lang.Exception
-
- java.lang.RuntimeException
-
- javax.json.JsonException
-
- Torello.Java.Additional.JsonBindingException
-
- All Implemented Interfaces:
java.io.Serializable
- Direct Known Subclasses:
JsonBindingArrException
,JsonBindingObjException
public abstract class JsonBindingException extends JsonException
The parent class of all Json Exceptions in this package. This class contains several convenience fields that will be auto-populated by any method inside Java HTML that would throw this exception, or any of this exception's descendant classes.
NOTE: This class is abstract, and cannot be instantiated.
The following'final'
Convenience Fields are exported by this Exception Class:Field Field Type errorSourceJsonStruct
JsonStructure
expectedJsonType
JsonValue.ValueType
methodReturnJavaType
java.lang.Class
valueRetrieved
JsonValue
- See Also:
- Serialized Form
Hi-Lited Source-Code:- View Here: Torello/Java/Additional/JsonBindingException.java
- Open New Browser-Tab: Torello/Java/Additional/JsonBindingException.java
-
-
Field Summary
Serializable ID Modifier and Type Field static long
serialVersionUID
'final'
Exception Convenience FieldsModifier and Type Field JsonStructure
errorSourceJsonStruct
JsonValue.ValueType
expectedJsonType
Class<?>
methodReturnJavaType
JsonValue
valueRetrieved
-
Constructor Summary
Constructors Constructor JsonBindingException(String message, Throwable cause, JsonStructure errorSourceJsonStruct, JsonValue.ValueType expectedJsonType, JsonValue valueRetrieved, Class<?> methodReturnJavaType)
JsonBindingException(String message, JsonStructure errorSourceJsonStruct, JsonValue.ValueType expectedJsonType, JsonValue valueRetrieved, Class<?> methodReturnJavaType)
JsonBindingException(Throwable cause, JsonStructure errorSourceJsonStruct, JsonValue.ValueType expectedJsonType, JsonValue valueRetrieved, Class<?> methodReturnJavaType)
JsonBindingException(JsonStructure errorSourceJsonStruct, JsonValue.ValueType expectedJsonType, JsonValue valueRetrieved, Class<?> methodReturnJavaType)
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method protected static String
BASE_MESSAGE(JsonStructure errorSourceJsonStruct, JsonValue.ValueType expectedJsonType, JsonValue valueRetrieved, Class<?> methodReturnJavaType, Throwable... causes)
-
-
-
Field Detail
-
serialVersionUID
public static final long serialVersionUID
This fulfils the SerialVersion UID requirement for all classes that implement Java'sinterface java.io.Serializable
. Using theSerializable
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'sjava.lang.Exception
andjava.lang.Error
classes implement theSerializable 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;
-
errorSourceJsonStruct
public final JsonStructure errorSourceJsonStruct
This field is provided to the user as a matter of convenience. All instantiations of thisException
are should guarantee to enforce and ensure that when an instance of this exception is thrown, the convenience field is not set null. If this package is extended, it is up to the programmer/user to make sure not to leave this field null when using one of these constructors.
IMPORTANT: All this is really trying to explain is that, when debugging your code, if in the analysis of a particularException
, that analysis causes another exception throw (NullPointerException
) - BECAUSE THIS CONVENIENCE FIELD WAS LEFT NULL - would be an unnecessary source of headache.
This contains the actualJsonStructure
(which should either be an instance ofJsonObject
orJsonArray
) which contained the array-element or object-property that has caused this exception throw.- Code:
- Exact Field Declaration Expression:
public final JsonStructure errorSourceJsonStruct;
-
expectedJsonType
public final JsonValue.ValueType expectedJsonType
This field is provided to the user as a matter of convenience. All instantiations of thisException
are should guarantee to enforce and ensure that when an instance of this exception is thrown, the convenience field is not set null. If this package is extended, it is up to the programmer/user to make sure not to leave this field null when using one of these constructors.
IMPORTANT: All this is really trying to explain is that, when debugging your code, if in the analysis of a particularException
, that analysis causes another exception throw (NullPointerException
) - BECAUSE THIS CONVENIENCE FIELD WAS LEFT NULL - would be an unnecessary source of headache.
This contains the expected type which ought to have been found at the user-specifiedJsonArray
orJsonObject
location. Since both of these kinds ofJsonStructure
are only allowed to have Json-Type's; therefore this field's declared type isJsonValue.ValueType
.
ASIDE: The enumJsonValue.ValueType
has two enum-constants which represent the Json-Type 'Boolean'. As a result, there are two possible values to which this field could be assigned to symbolize a Json Boolean Type (JsonValue.ValueType.FALSE
andJsonValue.ValueType.TRUE
). However, in Java HTML, a Json-Boolean Type will always be represented using the TRUE enum-constant.- Code:
- Exact Field Declaration Expression:
public final JsonValue.ValueType expectedJsonType;
-
valueRetrieved
public final JsonValue valueRetrieved
This field is provided to the user as a matter of convenience. All instantiations of thisException
are should guarantee to enforce and ensure that when an instance of this exception is thrown, the convenience field is not set null. If this package is extended, it is up to the programmer/user to make sure not to leave this field null when using one of these constructors.
IMPORTANT: All this is really trying to explain is that, when debugging your code, if in the analysis of a particularException
, that analysis causes another exception throw (NullPointerException
) - BECAUSE THIS CONVENIENCE FIELD WAS LEFT NULL - would be an unnecessary source of headache.
This is the value retrieved from theJsonArray
orJsonObject
. If the value was not present or unavailable, then this parameter will, indeed, evaulated to Java-Null. If Json-Null was retrieved, then this parameter will containJsonValue.NULL
.- Code:
- Exact Field Declaration Expression:
public final JsonValue valueRetrieved;
-
methodReturnJavaType
public final java.lang.Class<?> methodReturnJavaType
This field is provided to the user as a matter of convenience. All instantiations of thisException
are should guarantee to enforce and ensure that when an instance of this exception is thrown, the convenience field is not set null. If this package is extended, it is up to the programmer/user to make sure not to leave this field null when using one of these constructors.
IMPORTANT: All this is really trying to explain is that, when debugging your code, if in the analysis of a particularException
, that analysis causes another exception throw (NullPointerException
) - BECAUSE THIS CONVENIENCE FIELD WAS LEFT NULL - would be an unnecessary source of headache.
This specifies return type (as an instance ofjava.lang.Class<T>
that is used by the method which has thrown this exception. This is the Java-Type to which the Json-Type was going to be assigned.- Code:
- Exact Field Declaration Expression:
public final Class<?> methodReturnJavaType;
-
-
Constructor Detail
-
JsonBindingException
public JsonBindingException(JsonStructure errorSourceJsonStruct, JsonValue.ValueType expectedJsonType, JsonValue valueRetrieved, java.lang.Class<?> methodReturnJavaType)
Constructs aJsonBindingException
with no detail message.
-
JsonBindingException
public JsonBindingException(java.lang.String message, JsonStructure errorSourceJsonStruct, JsonValue.ValueType expectedJsonType, JsonValue valueRetrieved, java.lang.Class<?> methodReturnJavaType)
Constructs aJsonBindingException
with the specified detail message, and user-provided convenience-field values.- Parameters:
message
- the detail message.errorSourceJsonStruct
- TheJsonStructure
from which the element or property (dependent upon which subclass is inheriting this exception), is being retrieved / extracted.expectedJsonType
- This is the Json-Type that was expected to be retrieved fromJsonArray
.valueRetrieved
- This is theJsonValue
that was extracted from theJsonArray
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 beJsonValue.NULL
methodReturnJavaType
- ClassReadJSON
will always provide the ultimate Java-Type that is to be returned by the method where this exception is being thrown.
-
JsonBindingException
public JsonBindingException(java.lang.String message, java.lang.Throwable cause, JsonStructure errorSourceJsonStruct, JsonValue.ValueType expectedJsonType, JsonValue valueRetrieved, java.lang.Class<?> methodReturnJavaType)
Constructs a newJsonBindingException
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 theThrowable.getMessage()
method).cause
- the cause (which is saved for later retrieval by theThrowable.getCause()
method). (A null value is permitted, and indicates that the cause is nonexistent or unknown.)errorSourceJsonStruct
- TheJsonStructure
from which the element or property (dependent upon which subclass is inheriting this exception), is being retrieved / extracted.expectedJsonType
- This is the Json-Type that was expected to be retrieved fromJsonArray
.valueRetrieved
- This is theJsonValue
that was extracted from theJsonArray
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 beJsonValue.NULL
methodReturnJavaType
- ClassReadJSON
will always provide the ultimate Java-Type that is to be returned by the method where this exception is being thrown.
-
JsonBindingException
public JsonBindingException(java.lang.Throwable cause, JsonStructure errorSourceJsonStruct, JsonValue.ValueType expectedJsonType, JsonValue valueRetrieved, java.lang.Class<?> methodReturnJavaType)
Constructs a newJsonBindingException
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 theThrowable.getCause()
method). (A null value is permitted, and indicates that the cause is nonexistent or unknown.)errorSourceJsonStruct
- TheJsonStructure
from which the element or property (dependent upon which subclass is inheriting this exception), is being retrieved / extracted.expectedJsonType
- This is the Json-Type that was expected to be retrieved fromJsonArray
.valueRetrieved
- This is theJsonValue
that was extracted from theJsonArray
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 beJsonValue.NULL
methodReturnJavaType
- ClassReadJSON
will always provide the ultimate Java-Type that is to be returned by the method where this exception is being thrown.
-
-
Method Detail
-
BASE_MESSAGE
protected static java.lang.String BASE_MESSAGE (JsonStructure errorSourceJsonStruct, JsonValue.ValueType expectedJsonType, JsonValue valueRetrieved, java.lang.Class<?> methodReturnJavaType, java.lang.Throwable... causes)
A simple helper method for printing a consistent error messge using the input-data convenience fields.- Parameters:
errorSourceJsonStruct
- TheJsonStructure
from which the element or property (dependent upon which subclass is inheriting this exception), is being retrieved / extracted.expectedJsonType
- This is the Json-Type that was expected to be retrieved fromJsonArray
.valueRetrieved
- This is theJsonValue
that was extracted from theJsonArray
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 beJsonValue.NULL
methodReturnJavaType
- ClassReadJSON
will always provide the ultimate Java-Type that is to be returned by the method where this exception is being thrown.causes
- Optional Parameter. At most 1 cause is printed.- Returns:
- The error message
String
. - Code:
- Exact Method Body:
return "Problems Binding Json\n" + CAUSE_MESSAGE(causes) + "\tFound In JsonStructure: " + ABBREV_STRUCT(errorSourceJsonStruct) + "\n" + "\tJsonStructure SubClass: " + errorSourceJsonStruct.getClass().getSimpleName() + "\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" );
-
-