// 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.JsonGenerator; import com.fasterxml.jackson.databind.AnnotationIntrospector; import com.fasterxml.jackson.databind.BeanProperty; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper; import com.fasterxml.jackson.databind.jsonFormatVisitors.JsonIntegerFormatVisitor; import com.fasterxml.jackson.databind.jsonFormatVisitors.JsonNumberFormatVisitor; import com.fasterxml.jackson.databind.jsontype.TypeSerializer; import com.fasterxml.jackson.databind.ser.ContextualSerializer; import java.io.IOException; import java.lang.reflect.Type; import java.util.Map; // Referenced classes of package com.fasterxml.jackson.databind.ser.std: // StdScalarSerializer, ToStringSerializer public class NumberSerializers { protected static abstract class Base extends StdScalarSerializer implements ContextualSerializer { protected static final Integer EMPTY_INTEGER = Integer.valueOf(0); protected final boolean _isInt; protected final com.fasterxml.jackson.core.JsonParser.NumberType _numberType; protected final String _schemaType; public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper jsonformatvisitorwrapper, JavaType javatype) throws JsonMappingException { if (_isInt) { jsonformatvisitorwrapper = jsonformatvisitorwrapper.expectIntegerFormat(javatype); if (jsonformatvisitorwrapper != null) { jsonformatvisitorwrapper.numberType(_numberType); } } else { jsonformatvisitorwrapper = jsonformatvisitorwrapper.expectNumberFormat(javatype); if (jsonformatvisitorwrapper != null) { jsonformatvisitorwrapper.numberType(_numberType); return; } } } public JsonSerializer createContextual(SerializerProvider serializerprovider, BeanProperty beanproperty) throws JsonMappingException { if (beanproperty == null) goto _L2; else goto _L1 _L1: beanproperty = beanproperty.getMember(); if (beanproperty == null) goto _L2; else goto _L3 _L3: serializerprovider = serializerprovider.getAnnotationIntrospector().findFormat(beanproperty); if (serializerprovider == null) goto _L2; else goto _L4 _L4: static class _cls1 { static final int $SwitchMap$com$fasterxml$jackson$annotation$JsonFormat$Shape[]; static { $SwitchMap$com$fasterxml$jackson$annotation$JsonFormat$Shape = new int[com.fasterxml.jackson.annotation.JsonFormat.Shape.values().length]; try { $SwitchMap$com$fasterxml$jackson$annotation$JsonFormat$Shape[com.fasterxml.jackson.annotation.JsonFormat.Shape.STRING.ordinal()] = 1; } catch (NoSuchFieldError nosuchfielderror) { } } } _cls1..SwitchMap.com.fasterxml.jackson.annotation.JsonFormat.Shape[serializerprovider.getShape().ordinal()]; JVM INSTR tableswitch 1 1: default 56 // 1 58; goto _L2 _L5 _L2: return this; _L5: return ToStringSerializer.instance; } public JsonNode getSchema(SerializerProvider serializerprovider, Type type) { return createSchemaNode(_schemaType, true); } protected Base(Class class1, com.fasterxml.jackson.core.JsonParser.NumberType numbertype, String s) { boolean flag = false; super(class1, false); _numberType = numbertype; _schemaType = s; if (numbertype == com.fasterxml.jackson.core.JsonParser.NumberType.INT || numbertype == com.fasterxml.jackson.core.JsonParser.NumberType.LONG || numbertype == com.fasterxml.jackson.core.JsonParser.NumberType.BIG_INTEGER) { flag = true; } _isInt = flag; } } public static final class DoubleSerializer extends Base { private static final Double EMPTY = Double.valueOf(0.0D); static final DoubleSerializer instance = new DoubleSerializer(); public volatile void acceptJsonFormatVisitor(JsonFormatVisitorWrapper jsonformatvisitorwrapper, JavaType javatype) throws JsonMappingException { super.acceptJsonFormatVisitor(jsonformatvisitorwrapper, javatype); } public volatile JsonSerializer createContextual(SerializerProvider serializerprovider, BeanProperty beanproperty) throws JsonMappingException { return super.createContextual(serializerprovider, beanproperty); } public volatile JsonNode getSchema(SerializerProvider serializerprovider, Type type) { return super.getSchema(serializerprovider, type); } public boolean isEmpty(SerializerProvider serializerprovider, Object obj) { return EMPTY.equals(obj); } public void serialize(Object obj, JsonGenerator jsongenerator, SerializerProvider serializerprovider) throws IOException { jsongenerator.writeNumber(((Double)obj).doubleValue()); } public void serializeWithType(Object obj, JsonGenerator jsongenerator, SerializerProvider serializerprovider, TypeSerializer typeserializer) throws IOException { serialize(obj, jsongenerator, serializerprovider); } public DoubleSerializer() { super(java/lang/Double, com.fasterxml.jackson.core.JsonParser.NumberType.DOUBLE, "number"); } } public static final class FloatSerializer extends Base { private static final Float EMPTY = Float.valueOf(0.0F); static final FloatSerializer instance = new FloatSerializer(); public volatile void acceptJsonFormatVisitor(JsonFormatVisitorWrapper jsonformatvisitorwrapper, JavaType javatype) throws JsonMappingException { super.acceptJsonFormatVisitor(jsonformatvisitorwrapper, javatype); } public volatile JsonSerializer createContextual(SerializerProvider serializerprovider, BeanProperty beanproperty) throws JsonMappingException { return super.createContextual(serializerprovider, beanproperty); } public volatile JsonNode getSchema(SerializerProvider serializerprovider, Type type) { return super.getSchema(serializerprovider, type); } public boolean isEmpty(SerializerProvider serializerprovider, Object obj) { return EMPTY.equals(obj); } public void serialize(Object obj, JsonGenerator jsongenerator, SerializerProvider serializerprovider) throws IOException { jsongenerator.writeNumber(((Float)obj).floatValue()); } public FloatSerializer() { super(java/lang/Float, com.fasterxml.jackson.core.JsonParser.NumberType.FLOAT, "number"); } } public static final class IntLikeSerializer extends Base { static final IntLikeSerializer instance = new IntLikeSerializer(); public volatile void acceptJsonFormatVisitor(JsonFormatVisitorWrapper jsonformatvisitorwrapper, JavaType javatype) throws JsonMappingException { super.acceptJsonFormatVisitor(jsonformatvisitorwrapper, javatype); } public volatile JsonSerializer createContextual(SerializerProvider serializerprovider, BeanProperty beanproperty) throws JsonMappingException { return super.createContextual(serializerprovider, beanproperty); } public volatile JsonNode getSchema(SerializerProvider serializerprovider, Type type) { return super.getSchema(serializerprovider, type); } public boolean isEmpty(SerializerProvider serializerprovider, Number number) { return number.intValue() == 0; } public volatile boolean isEmpty(SerializerProvider serializerprovider, Object obj) { return isEmpty(serializerprovider, (Number)obj); } public void serialize(Number number, JsonGenerator jsongenerator, SerializerProvider serializerprovider) throws IOException { jsongenerator.writeNumber(number.intValue()); } public volatile void serialize(Object obj, JsonGenerator jsongenerator, SerializerProvider serializerprovider) throws IOException { serialize((Number)obj, jsongenerator, serializerprovider); } public IntLikeSerializer() { super(java/lang/Number, com.fasterxml.jackson.core.JsonParser.NumberType.INT, "integer"); } } public static final class IntegerSerializer extends Base { public volatile void acceptJsonFormatVisitor(JsonFormatVisitorWrapper jsonformatvisitorwrapper, JavaType javatype) throws JsonMappingException { super.acceptJsonFormatVisitor(jsonformatvisitorwrapper, javatype); } public volatile JsonSerializer createContextual(SerializerProvider serializerprovider, BeanProperty beanproperty) throws JsonMappingException { return super.createContextual(serializerprovider, beanproperty); } public volatile JsonNode getSchema(SerializerProvider serializerprovider, Type type) { return super.getSchema(serializerprovider, type); } public boolean isEmpty(SerializerProvider serializerprovider, Object obj) { return EMPTY_INTEGER.equals(obj); } public void serialize(Object obj, JsonGenerator jsongenerator, SerializerProvider serializerprovider) throws IOException { jsongenerator.writeNumber(((Integer)obj).intValue()); } public void serializeWithType(Object obj, JsonGenerator jsongenerator, SerializerProvider serializerprovider, TypeSerializer typeserializer) throws IOException { serialize(obj, jsongenerator, serializerprovider); } public IntegerSerializer() { super(java/lang/Integer, com.fasterxml.jackson.core.JsonParser.NumberType.INT, "integer"); } } public static final class LongSerializer extends Base { private static final Long EMPTY = Long.valueOf(0L); static final LongSerializer instance = new LongSerializer(); public volatile void acceptJsonFormatVisitor(JsonFormatVisitorWrapper jsonformatvisitorwrapper, JavaType javatype) throws JsonMappingException { super.acceptJsonFormatVisitor(jsonformatvisitorwrapper, javatype); } public volatile JsonSerializer createContextual(SerializerProvider serializerprovider, BeanProperty beanproperty) throws JsonMappingException { return super.createContextual(serializerprovider, beanproperty); } public volatile JsonNode getSchema(SerializerProvider serializerprovider, Type type) { return super.getSchema(serializerprovider, type); } public boolean isEmpty(SerializerProvider serializerprovider, Object obj) { return EMPTY.equals(obj); } public void serialize(Object obj, JsonGenerator jsongenerator, SerializerProvider serializerprovider) throws IOException { jsongenerator.writeNumber(((Long)obj).longValue()); } public LongSerializer() { super(java/lang/Long, com.fasterxml.jackson.core.JsonParser.NumberType.LONG, "number"); } } public static final class ShortSerializer extends Base { private static final Short EMPTY = Short.valueOf((short)0); static final ShortSerializer instance = new ShortSerializer(); public volatile void acceptJsonFormatVisitor(JsonFormatVisitorWrapper jsonformatvisitorwrapper, JavaType javatype) throws JsonMappingException { super.acceptJsonFormatVisitor(jsonformatvisitorwrapper, javatype); } public volatile JsonSerializer createContextual(SerializerProvider serializerprovider, BeanProperty beanproperty) throws JsonMappingException { return super.createContextual(serializerprovider, beanproperty); } public volatile JsonNode getSchema(SerializerProvider serializerprovider, Type type) { return super.getSchema(serializerprovider, type); } public volatile boolean isEmpty(SerializerProvider serializerprovider, Object obj) { return isEmpty(serializerprovider, (Short)obj); } public boolean isEmpty(SerializerProvider serializerprovider, Short short1) { return EMPTY.equals(short1); } public volatile void serialize(Object obj, JsonGenerator jsongenerator, SerializerProvider serializerprovider) throws IOException { serialize((Short)obj, jsongenerator, serializerprovider); } public void serialize(Short short1, JsonGenerator jsongenerator, SerializerProvider serializerprovider) throws IOException { jsongenerator.writeNumber(short1.shortValue()); } public ShortSerializer() { super(java/lang/Short, com.fasterxml.jackson.core.JsonParser.NumberType.INT, "number"); } } protected NumberSerializers() { } public static void addAll(Map map) { IntegerSerializer integerserializer = new IntegerSerializer(); map.put(java/lang/Integer.getName(), integerserializer); map.put(Integer.TYPE.getName(), integerserializer); map.put(java/lang/Long.getName(), LongSerializer.instance); map.put(Long.TYPE.getName(), LongSerializer.instance); map.put(java/lang/Byte.getName(), IntLikeSerializer.instance); map.put(Byte.TYPE.getName(), IntLikeSerializer.instance); map.put(java/lang/Short.getName(), ShortSerializer.instance); map.put(Short.TYPE.getName(), ShortSerializer.instance); map.put(java/lang/Float.getName(), FloatSerializer.instance); map.put(Float.TYPE.getName(), FloatSerializer.instance); map.put(java/lang/Double.getName(), DoubleSerializer.instance); map.put(Double.TYPE.getName(), DoubleSerializer.instance); } }