![JAR search and dependency download from the Maven repository](/logo.png)
org.codehaus.jackson.map.ext.JodaSerializers Maven / Gradle / Ivy
Go to download
Data Mapper package is a high-performance data binding package
built on Jackson JSON processor
package org.codehaus.jackson.map.ext;
import java.io.IOException;
import java.util.*;
import org.joda.time.DateTime;
import org.codehaus.jackson.*;
import org.codehaus.jackson.map.*;
import org.codehaus.jackson.map.ser.SerializerBase;
import org.codehaus.jackson.map.util.Provider;
/**
* Provider for serializers that handle some basic data types
* for Joda date/time library.
*
* @since 1.4
*/
public class JodaSerializers
implements Provider,JsonSerializer>>>
{
final static HashMap,JsonSerializer>> _serializers = new HashMap,JsonSerializer>>();
static {
_serializers.put(DateTime.class, new DateTimeSerializer());
}
public Collection,JsonSerializer>>> provide() {
return _serializers.entrySet();
}
/*
////////////////////////////////////////////////////////////////////////
// Concrete deserializers
////////////////////////////////////////////////////////////////////////
*/
public final static class DateTimeSerializer
extends SerializerBase
{
@Override
public void serialize(DateTime value, JsonGenerator jgen, SerializerProvider provider)
throws IOException, JsonGenerationException
{
if (provider.isEnabled(SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS)) {
jgen.writeNumber(value.getMillis());
} else {
jgen.writeString(value.toString());
}
}
@Override
public JsonNode getSchema(SerializerProvider provider, java.lang.reflect.Type typeHint)
{
return createSchemaNode(provider.isEnabled(SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS)
? "number" : "string", true);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy