org.codehaus.jackson.map.deser.std.TokenBufferDeserializer Maven / Gradle / Ivy
package org.codehaus.jackson.map.deser.std;
import java.io.IOException;
import org.codehaus.jackson.JsonParser;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.map.DeserializationContext;
import org.codehaus.jackson.map.annotate.JacksonStdImpl;
import org.codehaus.jackson.util.TokenBuffer;
/**
* We also want to directly support deserialization of
* {@link TokenBuffer}.
*
* Note that we use scalar deserializer base just because we claim
* to be of scalar for type information inclusion purposes; actual
* underlying content can be of any (Object, Array, scalar) type.
*
* @since 1.9 (moved from higher-level package)
*/
@JacksonStdImpl
public class TokenBufferDeserializer
extends StdScalarDeserializer
{
public TokenBufferDeserializer() { super(TokenBuffer.class); }
@Override
public TokenBuffer deserialize(JsonParser jp, DeserializationContext ctxt)
throws IOException, JsonProcessingException
{
TokenBuffer tb = new TokenBuffer(jp.getCodec());
// quite simple, given that TokenBuffer is a JsonGenerator:
tb.copyCurrentStructure(jp);
return tb;
}
}