1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | package Torello.Java.JSON; import javax.json.*; import static javax.json.JsonValue.ValueType.*; /** * Used to indicate that a specific {@link JsonString} within a {@link JsonObject} or * {@link JsonArray} was not properly parsed into a target <B STYLE='color: red'>Java-Type</B>. * * <EMBED CLASS=globalDefs DATA-STRUCT=JsonObject DATA-TYPE=Object DATA-TYPE_ABBREV=Obj> * <EMBED CLASS='external-html' DATA-FILE-ID=JE_FIELD_OBJ> * <EMBED CLASS='external-html' DATA-FILE-ID=JE_MSG> * <EMBED CLASS='external-html' DATA-FILE-ID=JE_MSG_JSPOEX> */ @Torello.JavaDoc.JDHeaderBackgroundImg(EmbedTagFileID="JE_SP_UL") @Torello.JavaDoc.CSSLinks(FileNames="JSONExceptions.css") public class JsonStrParseObjException extends JsonBindingObjException { /** <EMBED CLASS='external-html' DATA-FILE-ID=SVUIDEX> */ public static final long serialVersionUID = 1; /** * <EMBED CLASS='external-html' DATA-FILE-ID=EXPF> * * <BR /><BR />The {@code String} that has caused the exception. */ public final String s; // This *SHOULD NOT* be necessary, but there is nothing worse than throwing another exception // when building an exception. Just in case... private static String CONVERT(JsonValue v) { return (v.getValueType() != JsonValue.ValueType.STRING) ? null : ((JsonString) v).getString(); } /** * Constructs a {@code JsonStrParseObjException} with no specified cause, * and the user-provided convenience-field values. * * @param cause The exception thrown by the user-provided {@code 'parser'} * @param errorSourceJsonObject <EMBED CLASS='external-html' DATA-FILE-ID=JBEX_ESJO> * @param propertyName <EMBED CLASS='external-html' DATA-FILE-ID=JBEX_PN> * @param valueRetrieved <EMBED CLASS='external-html' DATA-FILE-ID=JBEX_VR> * @param methodReturnJavaType <EMBED CLASS='external-html' DATA-FILE-ID=JBEX_MRJT> */ public JsonStrParseObjException( Throwable cause, JsonObject errorSourceJsonObject, String propertyName, JsonValue valueRetrieved, Class<?> methodReturnJavaType ) { super( cause, errorSourceJsonObject, propertyName, STRING, valueRetrieved, methodReturnJavaType, "The User-Provided Parser threw an Exception while attempting to parse / transform " + "a Json-String" ); this.s = CONVERT(valueRetrieved); } /** * Constructs a {@code JsonStrParseObjException} with the specified detail message, cause, * and user-provided convenience-field values. * * @param message the detail message. * @param cause The exception thrown by the user-provided {@code 'parser'} * @param errorSourceJsonObject <EMBED CLASS='external-html' DATA-FILE-ID=JBEX_ESJO> * @param propertyName <EMBED CLASS='external-html' DATA-FILE-ID=JBEX_PN> * @param valueRetrieved <EMBED CLASS='external-html' DATA-FILE-ID=JBEX_VR> * @param methodReturnJavaType <EMBED CLASS='external-html' DATA-FILE-ID=JBEX_MRJT> */ public JsonStrParseObjException( String message, Throwable cause, JsonObject errorSourceJsonObject, String propertyName, JsonValue valueRetrieved, Class<?> methodReturnJavaType ) { super( message, cause, errorSourceJsonObject, propertyName, STRING, valueRetrieved, methodReturnJavaType ); this.s = CONVERT(valueRetrieved); } } |