// 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.ext; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.BeanDescription; import com.fasterxml.jackson.databind.BeanProperty; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializationConfig; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper; import com.fasterxml.jackson.databind.jsontype.TypeSerializer; import com.fasterxml.jackson.databind.ser.ContextualSerializer; import com.fasterxml.jackson.databind.ser.std.CalendarSerializer; import com.fasterxml.jackson.databind.ser.std.StdSerializer; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import java.io.IOException; import java.util.Calendar; import javax.xml.datatype.Duration; import javax.xml.datatype.XMLGregorianCalendar; import javax.xml.namespace.QName; public class CoreXMLSerializers extends com.fasterxml.jackson.databind.ser.Serializers.Base { public static class XMLGregorianCalendarSerializer extends StdSerializer implements ContextualSerializer { static final XMLGregorianCalendarSerializer instance = new XMLGregorianCalendarSerializer(); final JsonSerializer _delegate; protected Calendar _convert(XMLGregorianCalendar xmlgregoriancalendar) { if (xmlgregoriancalendar == null) { return null; } else { return xmlgregoriancalendar.toGregorianCalendar(); } } public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper jsonformatvisitorwrapper, JavaType javatype) throws JsonMappingException { _delegate.acceptJsonFormatVisitor(jsonformatvisitorwrapper, null); } public JsonSerializer createContextual(SerializerProvider serializerprovider, BeanProperty beanproperty) throws JsonMappingException { beanproperty = serializerprovider.handlePrimaryContextualization(_delegate, beanproperty); serializerprovider = this; if (beanproperty != _delegate) { serializerprovider = new XMLGregorianCalendarSerializer(beanproperty); } return serializerprovider; } public JsonSerializer getDelegatee() { return _delegate; } public volatile boolean isEmpty(SerializerProvider serializerprovider, Object obj) { return isEmpty(serializerprovider, (XMLGregorianCalendar)obj); } public boolean isEmpty(SerializerProvider serializerprovider, XMLGregorianCalendar xmlgregoriancalendar) { return _delegate.isEmpty(serializerprovider, _convert(xmlgregoriancalendar)); } public volatile void serialize(Object obj, JsonGenerator jsongenerator, SerializerProvider serializerprovider) throws IOException { serialize((XMLGregorianCalendar)obj, jsongenerator, serializerprovider); } public void serialize(XMLGregorianCalendar xmlgregoriancalendar, JsonGenerator jsongenerator, SerializerProvider serializerprovider) throws IOException { _delegate.serialize(_convert(xmlgregoriancalendar), jsongenerator, serializerprovider); } public volatile void serializeWithType(Object obj, JsonGenerator jsongenerator, SerializerProvider serializerprovider, TypeSerializer typeserializer) throws IOException { serializeWithType((XMLGregorianCalendar)obj, jsongenerator, serializerprovider, typeserializer); } public void serializeWithType(XMLGregorianCalendar xmlgregoriancalendar, JsonGenerator jsongenerator, SerializerProvider serializerprovider, TypeSerializer typeserializer) throws IOException { _delegate.serializeWithType(_convert(xmlgregoriancalendar), jsongenerator, serializerprovider, typeserializer); } public XMLGregorianCalendarSerializer() { this(((JsonSerializer) (CalendarSerializer.instance))); } protected XMLGregorianCalendarSerializer(JsonSerializer jsonserializer) { super(javax/xml/datatype/XMLGregorianCalendar); _delegate = jsonserializer; } } public CoreXMLSerializers() { } public JsonSerializer findSerializer(SerializationConfig serializationconfig, JavaType javatype, BeanDescription beandescription) { serializationconfig = javatype.getRawClass(); if (javax/xml/datatype/Duration.isAssignableFrom(serializationconfig) || javax/xml/namespace/QName.isAssignableFrom(serializationconfig)) { return ToStringSerializer.instance; } if (javax/xml/datatype/XMLGregorianCalendar.isAssignableFrom(serializationconfig)) { return XMLGregorianCalendarSerializer.instance; } else { return null; } } }