blob: 7eea5d4c8152389d30b8257aa5aa882d958bd43f [file] [log] [blame]
package org.codehaus.jackson.map.deser;
import java.io.IOException;
import org.codehaus.jackson.Base64Variants;
import org.codehaus.jackson.JsonParser;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.JsonToken;
import org.codehaus.jackson.map.DeserializationContext;
import org.codehaus.jackson.map.TypeDeserializer;
import org.codehaus.jackson.map.annotate.JacksonStdImpl;
import org.codehaus.jackson.map.deser.std.StdScalarDeserializer;
import org.codehaus.jackson.type.JavaType;
/**
* @deprecated Since 1.9, use {@link org.codehaus.jackson.map.deser.std.StdDeserializer} instead.
*/
@Deprecated
public abstract class StdDeserializer<T>
extends org.codehaus.jackson.map.deser.std.StdDeserializer<T>
{
protected StdDeserializer(Class<?> vc) {
super(vc);
}
protected StdDeserializer(JavaType valueType) {
super(valueType);
}
/*
/**********************************************************
/* Deprecated inner classes
/**********************************************************
*/
/**
* @deprecated Since 1.9 use {@link org.codehaus.jackson.map.deser.std.ClassDeserializer} instead.
*/
@Deprecated
@JacksonStdImpl
public class ClassDeserializer extends org.codehaus.jackson.map.deser.std.ClassDeserializer { }
/**
* @deprecated Since 1.9 use {@link org.codehaus.jackson.map.deser.std.CalendarDeserializer} instead.
*/
@Deprecated
@JacksonStdImpl
public class CalendarDeserializer extends org.codehaus.jackson.map.deser.std.CalendarDeserializer { }
/**
* @deprecated Since 1.9 use {@link org.codehaus.jackson.map.deser.std.StringDeserializer} instead.
*/
@Deprecated
@JacksonStdImpl
public final static class StringDeserializer
extends StdScalarDeserializer<String>
{
public StringDeserializer() { super(String.class); }
@Override
public String deserialize(JsonParser jp, DeserializationContext ctxt)
throws IOException, JsonProcessingException
{
JsonToken curr = jp.getCurrentToken();
if (curr == JsonToken.VALUE_STRING) {
return jp.getText();
}
if (curr == JsonToken.VALUE_EMBEDDED_OBJECT) {
Object ob = jp.getEmbeddedObject();
if (ob == null) {
return null;
}
if (ob instanceof byte[]) {
return Base64Variants.getDefaultVariant().encode((byte[]) ob, false);
}
return ob.toString();
}
if (curr.isScalarValue()) {
return jp.getText();
}
throw ctxt.mappingException(_valueClass, curr);
}
@SuppressWarnings("deprecation")
@Override
public String deserializeWithType(JsonParser jp, DeserializationContext ctxt,
TypeDeserializer typeDeserializer)
throws IOException, JsonProcessingException
{
return deserialize(jp, ctxt);
}
}
}