// 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.ser.std; import com.fasterxml.jackson.core.JsonGenerationException; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializationConfig; import com.fasterxml.jackson.databind.SerializerProvider; import java.io.IOException; import java.util.Calendar; import java.util.Date; import java.util.UUID; // Referenced classes of package com.fasterxml.jackson.databind.ser.std: // StdKeySerializer, StdSerializer public class StdKeySerializers { public static class CalendarKeySerializer extends StdSerializer { protected static final JsonSerializer instance = new CalendarKeySerializer(); public volatile void serialize(Object obj, JsonGenerator jsongenerator, SerializerProvider serializerprovider) throws IOException { serialize((Calendar)obj, jsongenerator, serializerprovider); } public void serialize(Calendar calendar, JsonGenerator jsongenerator, SerializerProvider serializerprovider) throws IOException, JsonGenerationException { serializerprovider.defaultSerializeDateKey(calendar.getTimeInMillis(), jsongenerator); } public CalendarKeySerializer() { super(java/util/Calendar); } } public static class DateKeySerializer extends StdSerializer { protected static final JsonSerializer instance = new DateKeySerializer(); public volatile void serialize(Object obj, JsonGenerator jsongenerator, SerializerProvider serializerprovider) throws IOException { serialize((Date)obj, jsongenerator, serializerprovider); } public void serialize(Date date, JsonGenerator jsongenerator, SerializerProvider serializerprovider) throws IOException, JsonGenerationException { serializerprovider.defaultSerializeDateKey(date, jsongenerator); } public DateKeySerializer() { super(java/util/Date); } } public static class Default extends StdSerializer { static final int TYPE_CALENDAR = 2; static final int TYPE_CLASS = 3; static final int TYPE_DATE = 1; static final int TYPE_TO_STRING = 4; protected final int _typeId; public void serialize(Object obj, JsonGenerator jsongenerator, SerializerProvider serializerprovider) throws IOException, JsonGenerationException { switch (_typeId) { default: jsongenerator.writeFieldName(obj.toString()); return; case 1: // '\001' serializerprovider.defaultSerializeDateKey((Date)obj, jsongenerator); return; case 2: // '\002' serializerprovider.defaultSerializeDateKey(((Calendar)obj).getTimeInMillis(), jsongenerator); return; case 3: // '\003' jsongenerator.writeFieldName(((Class)obj).getName()); break; } } public Default(int i, Class class1) { super(class1, false); _typeId = i; } } public static class StringKeySerializer extends StdSerializer { public void serialize(Object obj, JsonGenerator jsongenerator, SerializerProvider serializerprovider) throws IOException, JsonGenerationException { jsongenerator.writeFieldName((String)obj); } public StringKeySerializer() { super(java/lang/String, false); } } protected static final JsonSerializer DEFAULT_KEY_SERIALIZER = new StdKeySerializer(); protected static final JsonSerializer DEFAULT_STRING_SERIALIZER = new StringKeySerializer(); private StdKeySerializers() { } public static JsonSerializer getDefault() { return DEFAULT_KEY_SERIALIZER; } public static JsonSerializer getStdKeySerializer(JavaType javatype) { return getStdKeySerializer(null, javatype.getRawClass(), true); } public static JsonSerializer getStdKeySerializer(SerializationConfig serializationconfig, Class class1, boolean flag) { if (class1 != null) { if (class1 == java/lang/String) { return DEFAULT_STRING_SERIALIZER; } if (class1 == java/lang/Object || class1.isPrimitive() || java/lang/Number.isAssignableFrom(class1)) { return DEFAULT_KEY_SERIALIZER; } if (class1 == java/lang/Class) { return new Default(3, class1); } if (java/util/Date.isAssignableFrom(class1)) { return new Default(1, class1); } if (java/util/Calendar.isAssignableFrom(class1)) { return new Default(2, class1); } if (class1 == java/util/UUID) { return new Default(4, class1); } } if (flag) { return DEFAULT_KEY_SERIALIZER; } else { return null; } } }