Package com.dropbox.core.json
Class JsonReader<T>
java.lang.Object
com.dropbox.core.json.JsonReader<T>
- Direct Known Subclasses:
DbxDelta.Entry.Reader,DbxDelta.Reader,DbxDeltaC.Entry.Reader,DbxDeltaC.Reader,DbxEntry.WithChildrenC.Reader,DbxEntry.WithChildrenC.ReaderMaybeDeleted,JsonArrayReader
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classIf you're implementing aJsonReaderfor a JSON object, you can use this to map field names to a number you canswitchon to efficiently locate assign a field.static class -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final JsonReader<byte[]> static final JsonReader<Boolean> static final JsonReader<Float> static final JsonReader<Double> static final JsonReader<Integer> static final JsonReader<Long> static final JsonReader<String> static final JsonReader<Long> static final JsonReader<Long> static final JsonReader<Long> static final JsonReader<Object> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic com.fasterxml.jackson.core.JsonLocationexpectArrayEnd(com.fasterxml.jackson.core.JsonParser parser) static com.fasterxml.jackson.core.JsonLocationexpectArrayStart(com.fasterxml.jackson.core.JsonParser parser) static voidexpectObjectEnd(com.fasterxml.jackson.core.JsonParser parser) static com.fasterxml.jackson.core.JsonLocationexpectObjectStart(com.fasterxml.jackson.core.JsonParser parser) static booleanisArrayEnd(com.fasterxml.jackson.core.JsonParser parser) static booleanisArrayStart(com.fasterxml.jackson.core.JsonParser parser) static com.fasterxml.jackson.core.JsonTokennextToken(com.fasterxml.jackson.core.JsonParser parser) A wrapper around 'JsonParser.nextToken' that throws our own betterJsonReadExceptioninstead of Jackson'sJsonParseException.abstract Tread(com.fasterxml.jackson.core.JsonParser parser) static booleanreadBoolean(com.fasterxml.jackson.core.JsonParser parser) static doublereadDouble(com.fasterxml.jackson.core.JsonParser parser) static <T> Tfinal TreadFields(com.fasterxml.jackson.core.JsonParser parser) readFromFile(File file) readFromFile(String filePath) readFromTags(String[] tags, com.fasterxml.jackson.core.JsonParser parser) readFully(byte[] utf8Body) readFully(com.fasterxml.jackson.core.JsonParser parser) readFully(InputStream utf8Body) final TreadOptional(com.fasterxml.jackson.core.JsonParser parser) static String[]readTags(com.fasterxml.jackson.core.JsonParser parser) Helper to read and parse the optional ".tag" field.static longreadUnsignedLong(com.fasterxml.jackson.core.JsonParser parser) static longreadUnsignedLongField(com.fasterxml.jackson.core.JsonParser parser, String fieldName, long v) static voidskipValue(com.fasterxml.jackson.core.JsonParser parser) void
-
Field Details
-
UnsignedLongReader
-
Int64Reader
-
Int32Reader
-
UInt64Reader
-
UInt32Reader
-
Float64Reader
-
Float32Reader
-
StringReader
-
BinaryReader
-
BooleanReader
-
VoidReader
-
-
Constructor Details
-
JsonReader
public JsonReader()
-
-
Method Details
-
read
public abstract T read(com.fasterxml.jackson.core.JsonParser parser) throws IOException, JsonReadException - Throws:
IOExceptionJsonReadException
-
readFromTags
public T readFromTags(String[] tags, com.fasterxml.jackson.core.JsonParser parser) throws IOException, JsonReadException - Throws:
IOExceptionJsonReadException
-
readFields
public T readFields(com.fasterxml.jackson.core.JsonParser parser) throws IOException, JsonReadException - Throws:
IOExceptionJsonReadException
-
validate
-
readField
public final T readField(com.fasterxml.jackson.core.JsonParser parser, String fieldName, Object v) throws IOException, JsonReadException - Throws:
IOExceptionJsonReadException
-
readOptional
public final T readOptional(com.fasterxml.jackson.core.JsonParser parser) throws IOException, JsonReadException - Throws:
IOExceptionJsonReadException
-
readTags
public static String[] readTags(com.fasterxml.jackson.core.JsonParser parser) throws IOException, JsonReadException Helper to read and parse the optional ".tag" field. If one is found, positions the parser at the next field (or the closing brace); otherwise leaves the parser position unchanged. Returns null if there isn't a ".tag" field; otherwise an array of strings (the tags). Initially the parser must be positioned right after the opening brace.- Throws:
IOExceptionJsonReadException
-
nextToken
public static com.fasterxml.jackson.core.JsonToken nextToken(com.fasterxml.jackson.core.JsonParser parser) throws IOException, JsonReadException A wrapper around 'JsonParser.nextToken' that throws our own betterJsonReadExceptioninstead of Jackson'sJsonParseException.JsonParseException is bad for two reasons. First, it extends IOException, which makes it easy to miss. Second, there's no way to get the original error message, which makes it hard to chain logical location information (see
JsonReadException.addFieldContext(java.lang.String)andJsonReadException.addArrayContext(int)).- Throws:
IOExceptionJsonReadException
-
expectObjectStart
public static com.fasterxml.jackson.core.JsonLocation expectObjectStart(com.fasterxml.jackson.core.JsonParser parser) throws IOException, JsonReadException - Throws:
IOExceptionJsonReadException
-
expectObjectEnd
public static void expectObjectEnd(com.fasterxml.jackson.core.JsonParser parser) throws IOException, JsonReadException - Throws:
IOExceptionJsonReadException
-
expectArrayStart
public static com.fasterxml.jackson.core.JsonLocation expectArrayStart(com.fasterxml.jackson.core.JsonParser parser) throws IOException, JsonReadException - Throws:
IOExceptionJsonReadException
-
expectArrayEnd
public static com.fasterxml.jackson.core.JsonLocation expectArrayEnd(com.fasterxml.jackson.core.JsonParser parser) throws IOException, JsonReadException - Throws:
IOExceptionJsonReadException
-
isArrayEnd
public static boolean isArrayEnd(com.fasterxml.jackson.core.JsonParser parser) -
isArrayStart
public static boolean isArrayStart(com.fasterxml.jackson.core.JsonParser parser) -
skipValue
public static void skipValue(com.fasterxml.jackson.core.JsonParser parser) throws IOException, JsonReadException - Throws:
IOExceptionJsonReadException
-
readUnsignedLong
public static long readUnsignedLong(com.fasterxml.jackson.core.JsonParser parser) throws IOException, JsonReadException - Throws:
IOExceptionJsonReadException
-
readUnsignedLongField
public static long readUnsignedLongField(com.fasterxml.jackson.core.JsonParser parser, String fieldName, long v) throws IOException, JsonReadException - Throws:
IOExceptionJsonReadException
-
readBoolean
public static boolean readBoolean(com.fasterxml.jackson.core.JsonParser parser) throws IOException, JsonReadException - Throws:
IOExceptionJsonReadException
-
readDouble
public static double readDouble(com.fasterxml.jackson.core.JsonParser parser) throws IOException, JsonReadException - Throws:
IOExceptionJsonReadException
-
readEnum
public static <T> T readEnum(com.fasterxml.jackson.core.JsonParser parser, HashMap<String, T> values, T catch_all) throws IOException, JsonReadException- Throws:
IOExceptionJsonReadException
-
readFully
- Throws:
IOExceptionJsonReadException
-
readFully
- Throws:
JsonReadException
-
readFully
- Throws:
JsonReadException
-
readFromFile
- Throws:
JsonReader.FileLoadException
-
readFromFile
- Throws:
JsonReader.FileLoadException
-
readFully
public T readFully(com.fasterxml.jackson.core.JsonParser parser) throws IOException, JsonReadException - Throws:
IOExceptionJsonReadException
-