TimeSeriesParser

Turns a decoded stock time series payload into a TimeSeriesResponse.

The cadences number their metadata keys differently — only intraday reports an interval, and the weekly and monthly headers are shorter — so the parser reads the header positionally, deciding which numbering is in use by which of the fourth-position keys is present.

Per-bar keys are numbered by cadence too, which is what the adjusted flag resolves: in an unadjusted payload the fifth key is the volume, while in an adjusted one it is the adjusted close and the volume moves to sixth.

Constructors

Link copied to clipboard
public void TimeSeriesResponse.TimeSeriesParser(boolean adjusted)
Creates a parser for one numbering of the per-bar keys.

Functions

Link copied to clipboard
public static N getNumberFromString<N extends Number>(String s, Function<String, N> parser)
Link copied to clipboard
Wraps a parse failure or an API error message in a response.
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 TimeSeriesResponse parse(Map<String, String> metaDataMap, Map<String, Map<String, String>> dataMap)
Reads the metadata header and the price bars into a response.
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.