com.fasterxml.jackson.databind.ser.std.StdKeySerializers.java Source code

Java tutorial

Introduction

Here is the source code for com.fasterxml.jackson.databind.ser.std.StdKeySerializers.java

Source

package com.fasterxml.jackson.databind.ser.std;

import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.util.Calendar;
import java.util.Date;

public class StdKeySerializers {
    protected static final JsonSerializer<Object> DEFAULT_KEY_SERIALIZER = new StdKeySerializer();
    protected static final JsonSerializer<Object> DEFAULT_STRING_SERIALIZER = new StringKeySerializer();

    public static JsonSerializer<Object> getStdKeySerializer(JavaType paramJavaType) {
        if (paramJavaType == null)
            return DEFAULT_KEY_SERIALIZER;
        Class localClass = paramJavaType.getRawClass();
        if (localClass == String.class)
            return DEFAULT_STRING_SERIALIZER;
        if (localClass == Object.class)
            return DEFAULT_KEY_SERIALIZER;
        if (Date.class.isAssignableFrom(localClass))
            return DateKeySerializer.instance;
        if (Calendar.class.isAssignableFrom(localClass))
            return CalendarKeySerializer.instance;
        return DEFAULT_KEY_SERIALIZER;
    }

    public static class CalendarKeySerializer extends StdSerializer<Calendar> {
        protected static final JsonSerializer<?> instance = new CalendarKeySerializer();

        public CalendarKeySerializer() {
            super();
        }

        public void serialize(Calendar paramCalendar, JsonGenerator paramJsonGenerator,
                SerializerProvider paramSerializerProvider) {
            paramSerializerProvider.defaultSerializeDateKey(paramCalendar.getTimeInMillis(), paramJsonGenerator);
        }
    }

    public static class DateKeySerializer extends StdSerializer<Date> {
        protected static final JsonSerializer<?> instance = new DateKeySerializer();

        public DateKeySerializer() {
            super();
        }

        public void serialize(Date paramDate, JsonGenerator paramJsonGenerator,
                SerializerProvider paramSerializerProvider) {
            paramSerializerProvider.defaultSerializeDateKey(paramDate, paramJsonGenerator);
        }
    }

    public static class StringKeySerializer extends StdSerializer<String> {
        public StringKeySerializer() {
            super();
        }

        public void serialize(String paramString, JsonGenerator paramJsonGenerator,
                SerializerProvider paramSerializerProvider) {
            paramJsonGenerator.writeFieldName(paramString);
        }
    }
}

/* Location:           /Users/dantheman/src/fffffffffattttt/basis/classes_dex2jar.jar
 * Qualified Name:     com.fasterxml.jackson.databind.ser.std.StdKeySerializers
 * JD-Core Version:    0.6.2
 */