@Override public char readFChar() throws IOException { input.nextToken(); return (char) input.getIntValue(); }
@Override public Integer parse(JsonParser jsonParser) throws IOException { if (jsonParser.getCurrentToken() == JsonToken.VALUE_NULL) { return null; } else { return jsonParser.getIntValue(); } }
/** * Numeric accessor that can be called when the current * token is of type {@link JsonToken#VALUE_NUMBER_INT} and * it can be expressed as a value of Java short primitive type. * It can also be called for {@link JsonToken#VALUE_NUMBER_FLOAT}; * if so, it is equivalent to calling {@link #getDoubleValue} * and then casting; except for possible overflow/underflow * exception. *<p> * Note: if the resulting integer value falls outside range of * Java short, a {@link JsonParseException} * will be thrown to indicate numeric overflow/underflow. */ public short getShortValue() throws IOException { int value = getIntValue(); if (value < MIN_SHORT_I || value > MAX_SHORT_I) { throw _constructError("Numeric value ("+getText()+") out of range of Java short"); } return (short) value; }
@Override public StackTraceElement deserialize(JsonParser p, DeserializationContext ctxt) throws IOException JsonToken t = p.getCurrentToken(); className = p.getText(); } else if ("classLoaderName".equals(propName)) { classLoaderName = p.getText(); } else if ("fileName".equals(propName)) { fileName = p.getText(); } else if ("lineNumber".equals(propName)) { if (t.isNumeric()) { lineNumber = p.getIntValue(); } else { lineNumber = _parseIntPrimitive(p, ctxt); moduleName, moduleVersion, classLoaderName); } else if (t == JsonToken.START_ARRAY && ctxt.isEnabled(DeserializationFeature.UNWRAP_SINGLE_VALUE_ARRAYS)) { p.nextToken(); final StackTraceElement value = deserialize(p, ctxt); if (p.nextToken() != JsonToken.END_ARRAY) { handleMissingEndArrayForSingle(p, ctxt);
Class<?> base) throws IOException JsonToken t = p.getCurrentToken(); if (t == null) { return null; case VALUE_STRING: if (base.isAssignableFrom(String.class)) { return p.getText(); return p.getIntValue();
writeString(p.getTextCharacters(), p.getTextOffset(), p.getTextLength()); } else { writeString(p.getText()); writeNumber(p.getIntValue()); } else if (n == NumberType.BIG_INTEGER) { writeNumber(p.getBigIntegerValue());
public BigDecimal unmarshall(JsonUnmarshallerContext unmarshallerContext) throws Exception { JsonParser parser = unmarshallerContext.getJsonParser(); Unmarshaller<BigInteger, JsonUnmarshallerContext> bigIntegerUnmarshaller = unmarshallerContext.getUnmarshaller(BigInteger.class); JsonToken current = parser.getCurrentToken(); if (current != JsonToken.START_ARRAY) { throw new SdkClientException("Invalid BigDecimal Format."); } parser.nextToken(); int exponent = parser.getIntValue(); parser.nextToken(); BigInteger mantissa = bigIntegerUnmarshaller.unmarshall(unmarshallerContext); return new BigDecimal(mantissa, exponent); }
case JsonTokenId.ID_STRING: if (_acceptString) { return p.getText(); return p.getIntValue();
JsonToken t = parser.getCurrentToken(); if (t == JsonToken.END_ARRAY) { return null; reportWrongToken(parser, context, JsonToken.VALUE_NUMBER_INT, "hours"); hour = parser.getIntValue(); JsonToken t = parser.getCurrentToken(); if (t == JsonToken.END_ARRAY) { return null; reportWrongToken(parser, context, JsonToken.VALUE_NUMBER_INT, "minutes"); minute = parser.getIntValue(); if (parser.nextToken() == JsonToken.VALUE_NUMBER_INT) { second = parser.getIntValue(); if (parser.nextToken() == JsonToken.VALUE_NUMBER_INT) { partialSecond = parser.getIntValue(); parser.nextToken(); if (parser.getCurrentToken() == JsonToken.VALUE_STRING) { OffsetTime t = OffsetTime.of(hour, minute, second, partialSecond, ZoneOffset.of(parser.getText())); if (parser.nextToken() != JsonToken.END_ARRAY) { reportWrongToken(parser, context, JsonToken.END_ARRAY, "timezone");
/** * Method that fetches next token (as if calling {@link #nextToken}) and * if it is {@link JsonToken#VALUE_NUMBER_INT} returns 32-bit int value; * otherwise returns specified default value * It is functionally equivalent to: *<pre> * return (nextToken() == JsonToken.VALUE_NUMBER_INT) ? getIntValue() : defaultValue; *</pre> * but may be faster for parser to process, and can therefore be used if caller * expects to get an int value next from input. */ public int nextIntValue(int defaultValue) throws IOException { return (nextToken() == JsonToken.VALUE_NUMBER_INT) ? getIntValue() : defaultValue; }
@Override public StackTraceElement deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonToken t = jp.getCurrentToken(); final String propName = jp.getCurrentName(); if ("class".equals(propName)) { className = jp.getText(); } else if ("file".equals(propName)) { fileName = jp.getText(); } else if ("line".equals(propName)) { if (t.isNumeric()) { lineNumber = jp.getIntValue(); } else { throw JsonMappingException.from(jp, "Non-numeric token (" + t methodName = jp.getText(); } else if ("nativeMethod".equals(propName)) {
writeString(p.getTextCharacters(), p.getTextOffset(), p.getTextLength()); } else { writeString(p.getText()); writeNumber(p.getIntValue()); } else if (n == NumberType.BIG_INTEGER) { writeNumber(p.getBigIntegerValue());
@Override public int readInt() throws IOException { advance(Symbol.INT); if (in.getCurrentToken().isNumeric()) { int result = in.getIntValue(); in.nextToken(); return result; } else { throw error("int"); } }
String string = parser.getText().trim(); if (string.length() == 0) { return null; JsonToken t = parser.nextToken(); if (t == JsonToken.END_ARRAY) { return null; && (t == JsonToken.VALUE_STRING || t==JsonToken.VALUE_EMBEDDED_OBJECT)) { final LocalDate parsed = deserialize(parser, context); if (parser.nextToken() != JsonToken.END_ARRAY) { handleMissingEndArrayForSingle(parser, context); int year = parser.getIntValue(); int month = parser.nextIntValue(-1); int day = parser.nextIntValue(-1); if (parser.nextToken() != JsonToken.END_ARRAY) { throw context.wrongTokenException(parser, handledType(), JsonToken.END_ARRAY, "Expected array to end");
/** * Numeric accessor that can be called when the current * token is of type {@link JsonToken#VALUE_NUMBER_INT} and * it can be expressed as a value of Java byte primitive type. * It can also be called for {@link JsonToken#VALUE_NUMBER_FLOAT}; * if so, it is equivalent to calling {@link #getDoubleValue} * and then casting; except for possible overflow/underflow * exception. *<p> * Note: if the resulting integer value falls outside range of * Java byte, a {@link JsonParseException} * will be thrown to indicate numeric overflow/underflow. */ public byte getByteValue() throws IOException { int value = getIntValue(); // So far so good: but does it fit? // [JACKSON-804]: Let's actually allow range of [-128, 255], as those are uniquely mapped // (instead of just signed range of [-128, 127]) if (value < MIN_BYTE_I || value > MAX_BYTE_I) { throw _constructError("Numeric value ("+getText()+") out of range of Java byte"); } return (byte) value; }
@Override public Year deserialize(JsonParser parser, DeserializationContext context) throws IOException { JsonToken t = parser.getCurrentToken(); if (t == JsonToken.VALUE_STRING) { String string = parser.getValueAsString().trim(); try { if (_formatter == null) { return Year.parse(string); } return Year.parse(string, _formatter); } catch (DateTimeException e) { return _handleDateTimeException(context, e, string); } } if (t == JsonToken.VALUE_NUMBER_INT) { return Year.of(parser.getIntValue()); } if (t == JsonToken.VALUE_EMBEDDED_OBJECT) { return (Year) parser.getEmbeddedObject(); } if (parser.hasToken(JsonToken.START_ARRAY)){ return _deserializeFromArray(parser, context); } return _handleUnexpectedToken(context, parser, JsonToken.VALUE_STRING, JsonToken.VALUE_NUMBER_INT); } }
@Override public Version deserialize(final JsonParser p, final DeserializationContext ctxt) throws IOException { switch (p.getCurrentTokenId()) { case JsonTokenId.ID_STRING: final String str = p.getText().trim(); return Version.valueOf(str); case JsonTokenId.ID_NUMBER_INT: return Version.forIntegers(p.getIntValue()); } throw ctxt.wrongTokenException(p, JsonToken.VALUE_STRING, "expected String or Number"); } }
return p.getIntValue(); String text = p.getText().trim(); if (_isEmptyOrTextualNull(text)) { _verifyNullForPrimitiveCoercion(ctxt, text); case JsonTokenId.ID_START_ARRAY: if (ctxt.isEnabled(DeserializationFeature.UNWRAP_SINGLE_VALUE_ARRAYS)) { p.nextToken(); final int parsed = _parseIntPrimitive(p, ctxt); _verifyEndArrayForSingle(p, ctxt);
@Override public char readFChar() throws IOException { input.nextToken(); return (char) input.getIntValue(); }