Parser

public abstract class Parser<T>

Turns the decoded JSON of an Alpha Vantage reply into a response object, and carries the Moshi-backed JSON helpers the concrete parsers share.

Subclasses supply the shape-specific mapping in parse and decide what an unparseable reply becomes in onParseError.

Author

Sylvester Sefa-Yeboah

Since

1.4.0

Parameters

<T>

the response type produced by this parser

Inheritors

Constructors

Link copied to clipboard
public void Parser()

Functions

Link copied to clipboard
public static N getNumberFromString<N extends Number>(String s, Function<String, N> parser)
Link copied to clipboard
public abstract T onParseError(String error)
Produces the value this parser returns in place of a response object when the reply cannot be parsed, for example an empty or unrecognizable JSON body.
Link copied to clipboard
public abstract T parse(Map<String, Object> object)
Maps the decoded JSON body of an Alpha Vantage reply to a response object.
Link copied to clipboard
public static Map<String, Object> parseJSON(String responseBody)
Decodes a raw JSON response body into a generic String-keyed map, with the NoneableDouble/NoneableLong adapters registered so numeric-or-"None" fields decode correctly.
public static U parseJSON<U>(String responseBody, Class<U> c)
Decodes a raw JSON response body directly into an instance of c, with the NoneableDouble/NoneableLong adapters registered so numeric-or-"None" fields decode correctly.
Link copied to clipboard
public static List<U> parseJSONList<U>(Object object, Class<U> klass)
Converts an already-decoded JSON value, typically a List produced by parseJSON, into a List of klass instances, with the NoneableDouble/NoneableLong adapters registered so numeric-or-"None" fields decode correctly.
Link copied to clipboard
public static String toJSON(Map<String, Object> data)
Encodes a String-keyed map back into a JSON string, with the NoneableDouble/NoneableLong adapters registered.