@Override public Set<String> deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonToken token = jp.getCurrentToken(); if (token.isScalarValue()) { String list = jp.getText(); list = list.replaceAll("\\s+", ","); return new LinkedHashSet<String>(Arrays.asList(StringUtils.commaDelimitedListToStringArray(list))); } return jp.readValueAs(new TypeReference<Set<String>>() { }); } }
@Override public String getText() throws IOException { if (_currToken == JsonToken.VALUE_STRING) { return _textValue; } if (_currToken == JsonToken.FIELD_NAME) { return _currentFieldName; } if (_currToken != null) { if (_currToken.isScalarValue()) { return _textValue; } return _currToken.asString(); } return null; }
@Override public String getValueAsString(String defaultValue) throws IOException { // The documentation is ambiguous about whether field names should // return their text or the default value. To conform with the // CBORParser, they will get the default value here. if (currentToken != JsonToken.VALUE_STRING) { if (currentToken == null || currentToken == JsonToken.VALUE_NULL || !currentToken.isScalarValue()) { return defaultValue; } } return getText(); }
private void processTokenNormal(JsonToken token, List<TokenBuffer> result) throws IOException { this.tokenBuffer.copyCurrentEvent(this.parser); if ((token.isStructEnd() || token.isScalarValue()) && this.objectDepth == 0 && this.arrayDepth == 0) { result.add(this.tokenBuffer); this.tokenBuffer = new TokenBuffer(this.parser); } }
private void processTokenArray(JsonToken token, List<TokenBuffer> result) throws IOException { if (!isTopLevelArrayToken(token)) { this.tokenBuffer.copyCurrentEvent(this.parser); } if (this.objectDepth == 0 && (this.arrayDepth == 0 || this.arrayDepth == 1) && (token == JsonToken.END_OBJECT || token.isScalarValue())) { result.add(this.tokenBuffer); this.tokenBuffer = new TokenBuffer(this.parser); } }
@Override public Slice extract(JsonParser jsonParser) throws IOException { JsonToken token = jsonParser.getCurrentToken(); if (token == null) { throw new JsonParseException(jsonParser, "Unexpected end of value"); } if (!token.isScalarValue() || token == VALUE_NULL) { return null; } return utf8Slice(jsonParser.getText()); } }
@Override public String nextString() throws IOException { requirePeek(); if (!peek.isScalarValue()) { throw new IllegalStateException("Expected scalar value for string but was " + peek); } String value = parser.getText(); clearPeek(); return value; }
@Override public String getText() throws IOException { if (_currToken == JsonToken.VALUE_STRING) { return _textValue; } if (_currToken == JsonToken.FIELD_NAME) { return _currentFieldName; } if (_currToken != null) { if (_currToken.isScalarValue()) { return _textValue; } return _currToken.asString(); } return null; }
@Override public Object deserializeWithType(JsonParser parser, DeserializationContext context, TypeDeserializer deserializer) throws IOException { /** * This is a nasty kludge right here, working around issues like * [datatype-jsr310#24]. But should work better than not having the work-around. */ if (parser.getCurrentToken().isScalarValue()) { return deserialize(parser, context); } return deserializer.deserializeTypedFromAny(parser, context); } }
private void processTokenArray(JsonToken token, List<TokenBuffer> result) throws IOException { if (!isTopLevelArrayToken(token)) { this.tokenBuffer.copyCurrentEvent(this.parser); } if (this.objectDepth == 0 && (this.arrayDepth == 0 || this.arrayDepth == 1) && (token == JsonToken.END_OBJECT || token.isScalarValue())) { result.add(this.tokenBuffer); this.tokenBuffer = new TokenBuffer(this.parser); } }
private void processTokenNormal(JsonToken token, List<TokenBuffer> result) throws IOException { this.tokenBuffer.copyCurrentEvent(this.parser); if ((token.isStructEnd() || token.isScalarValue()) && this.objectDepth == 0 && this.arrayDepth == 0) { result.add(this.tokenBuffer); this.tokenBuffer = new TokenBuffer(this.parser); } }
@Override public Object deserializeWithType(JsonParser parser, DeserializationContext context, TypeDeserializer deserializer) throws IOException { /* This is a nasty kludge right here, working around issues like * [datatype-jsr310#24]. But should work better than not having the work-around. */ JsonToken t = parser.getCurrentToken(); if ((t != null) && t.isScalarValue()) { return deserialize(parser, context); } return deserializer.deserializeTypedFromAny(parser, context); } }
@Override public String getValueAsString(String defaultValue) throws IOException { if (_currToken == JsonToken.VALUE_STRING) { return getText(); } if (_currToken == JsonToken.FIELD_NAME) { return getCurrentName(); } if (_currToken == null || _currToken == JsonToken.VALUE_NULL || !_currToken.isScalarValue()) { return defaultValue; } return getText(); }
@Override public String getValueAsString(String defaultValue) throws IOException { if (_currToken == JsonToken.VALUE_STRING) { return getText(); } if (_currToken == JsonToken.FIELD_NAME) { return currentName(); } if (_currToken == null || _currToken == JsonToken.VALUE_NULL || !_currToken.isScalarValue()) { return defaultValue; } return getText(); }
if (t.isScalarValue()) { String text = p.getValueAsString(); if (text != null) {
if (t != null) { if (t.isScalarValue()) { return _deserializeFromObjectId(p, ctxt);
if (t != null) { if (t.isScalarValue()) { return deserializeFromObjectId(p, ctxt);
if (prop != null) { // normal case if (t.isScalarValue()) { ext.handleTypePropertyValue(p, ctxt, propName, bean);
if (prop != null) { // normal case if (t.isScalarValue()) { ext.handleTypePropertyValue(p, ctxt, propName, bean);
if (t.isScalarValue()) { // can't be null as we never store empty buffers JsonParser buffered = tokens.asParser(p); buffered.nextToken();