// 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; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.jsontype.TypeSerializer; import com.fasterxml.jackson.databind.ser.DefaultSerializerProvider; import com.fasterxml.jackson.databind.ser.impl.TypeWrappedSerializer; import java.io.IOException; import java.io.Serializable; // Referenced classes of package com.fasterxml.jackson.databind: // ObjectWriter, JavaType, SerializationFeature, JsonSerializer public static final class typeSerializer implements Serializable { public static final r empty = new (null, null, null); private static final long serialVersionUID = 1L; private final JavaType rootType; private final TypeSerializer typeSerializer; private final JsonSerializer valueSerializer; public typeSerializer forRootType(ObjectWriter objectwriter, JavaType javatype) { boolean flag1 = true; boolean flag = flag1; if (javatype != null) { if (javatype.isJavaLangObject()) { flag = flag1; } else { flag = false; } } if (!flag) goto _L2; else goto _L1 _L1: if (rootType != null && valueSerializer != null) goto _L4; else goto _L3 _L3: return this; _L4: return new (null, null, typeSerializer); _L2: if (javatype.equals(rootType)) goto _L3; else goto _L5 _L5: if (!objectwriter.isEnabled(SerializationFeature.EAGER_SERIALIZER_FETCH)) { break MISSING_BLOCK_LABEL_131; } objectwriter = objectwriter._serializerProvider(); objectwriter = objectwriter.findTypedValueSerializer(javatype, true, null); if (objectwriter instanceof TypeWrappedSerializer) { return new (javatype, null, ((TypeWrappedSerializer)objectwriter).typeSerializer()); } objectwriter = new (javatype, objectwriter, null); return objectwriter; objectwriter; return new (null, null, typeSerializer); } public final TypeSerializer getTypeSerializer() { return typeSerializer; } public final JsonSerializer getValueSerializer() { return valueSerializer; } public boolean hasSerializer() { return valueSerializer != null || typeSerializer != null; } public void serialize(JsonGenerator jsongenerator, Object obj, DefaultSerializerProvider defaultserializerprovider) throws IOException { if (typeSerializer != null) { defaultserializerprovider.serializePolymorphic(jsongenerator, obj, rootType, valueSerializer, typeSerializer); return; } if (valueSerializer != null) { defaultserializerprovider.serializeValue(jsongenerator, obj, rootType, valueSerializer); return; } else { defaultserializerprovider.serializeValue(jsongenerator, obj); return; } } private r(JavaType javatype, JsonSerializer jsonserializer, TypeSerializer typeserializer) { rootType = javatype; valueSerializer = jsonserializer; typeSerializer = typeserializer; } }