in src/main/java/org/apache/uima/json/jsoncas2/ser/FeatureStructureDeserializer.java [428:454]
private double readDoubleValue(JsonParser aParser) throws IOException {
if (aParser.currentToken() == JsonToken.VALUE_NUMBER_FLOAT) {
return aParser.getDoubleValue();
}
if (aParser.currentToken() == JsonToken.VALUE_STRING) {
switch (aParser.getValueAsString()) {
case NUMBER_FLOAT_NAN:
return Double.NaN;
case NUMBER_FLOAT_POSITIVE_INFINITY:
case NUMBER_FLOAT_POSITIVE_INFINITY_ABBR:
return Double.POSITIVE_INFINITY;
case NUMBER_FLOAT_NEGATIVE_INFINITY:
case NUMBER_FLOAT_NEGATIVE_INFINITY_ABBR:
return Double.NEGATIVE_INFINITY;
default:
throw new JsonParseException(aParser,
"Expected special floating point value (NaN, -Inf, -Infinity, Inf, Infinity), "
+ "but got [" + aParser.getValueAsString() + "]");
}
}
throw new JsonParseException(aParser,
"Expected floating point value as VALUE_NUMBER_FLOAT or VALUE_STRING for special "
+ "values (Nan, -Infinity, +Infinity), but got [" + aParser.currentToken()
+ "]");
}