DefaultParser

public abstract class DefaultParser<T> extends Parser<T>

A Parser for the metadata-plus-time-series reply shape most Alpha Vantage endpoints use, where the first top-level key holds the metadata and the second holds the data keyed by timestamp.

Subclasses receive those two maps already separated, so they only map fields.

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 DefaultParser()

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 T parse(Map<String, Object> object)
Maps the decoded JSON body of an Alpha Vantage reply to a response object.
public abstract T parse(Map<String, String> metaData, Map<String, Map<String, String>> data)
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.