// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package com.fasterxml.jackson.databind.deser.std; import com.fasterxml.jackson.core.Base64Variant; import com.fasterxml.jackson.core.Base64Variants; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.JsonToken; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.jsontype.TypeDeserializer; import java.io.IOException; // Referenced classes of package com.fasterxml.jackson.databind.deser.std: // StdScalarDeserializer public final class StringDeserializer extends StdScalarDeserializer { public static final StringDeserializer instance = new StringDeserializer(); private static final long serialVersionUID = 1L; public StringDeserializer() { super(java/lang/String); } public volatile Object deserialize(JsonParser jsonparser, DeserializationContext deserializationcontext) throws IOException, JsonProcessingException { return deserialize(jsonparser, deserializationcontext); } public String deserialize(JsonParser jsonparser, DeserializationContext deserializationcontext) throws IOException { Object obj = jsonparser.getCurrentToken(); if (obj == JsonToken.VALUE_STRING) { obj = jsonparser.getText(); } else if (obj == JsonToken.START_ARRAY && deserializationcontext.isEnabled(DeserializationFeature.UNWRAP_SINGLE_VALUE_ARRAYS)) { jsonparser.nextToken(); obj = _parseString(jsonparser, deserializationcontext); if (jsonparser.nextToken() != JsonToken.END_ARRAY) { throw deserializationcontext.wrongTokenException(jsonparser, JsonToken.END_ARRAY, "Attempted to unwrap single value array for single 'String' value but there was more than a single value in the array"); } } else { if (obj == JsonToken.VALUE_EMBEDDED_OBJECT) { jsonparser = ((JsonParser) (jsonparser.getEmbeddedObject())); if (jsonparser == null) { return null; } if (jsonparser instanceof byte[]) { return Base64Variants.getDefaultVariant().encode((byte[])(byte[])jsonparser, false); } else { return jsonparser.toString(); } } jsonparser = jsonparser.getValueAsString(); if (jsonparser != null) { return jsonparser; } else { throw deserializationcontext.mappingException(_valueClass, ((JsonToken) (obj))); } } return ((String) (obj)); } public volatile Object deserializeWithType(JsonParser jsonparser, DeserializationContext deserializationcontext, TypeDeserializer typedeserializer) throws IOException { return deserializeWithType(jsonparser, deserializationcontext, typedeserializer); } public String deserializeWithType(JsonParser jsonparser, DeserializationContext deserializationcontext, TypeDeserializer typedeserializer) throws IOException { return deserialize(jsonparser, deserializationcontext); } public boolean isCachable() { return true; } }