// 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.BeanProperty; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.jsontype.TypeSerializer; import com.fasterxml.jackson.databind.ser.ContainerSerializer; import com.fasterxml.jackson.databind.ser.ContextualSerializer; import java.io.IOException; public abstract class ArraySerializerBase extends ContainerSerializer implements ContextualSerializer { protected final BeanProperty _property; protected final Boolean _unwrapSingle; protected ArraySerializerBase(ArraySerializerBase arrayserializerbase) { super(arrayserializerbase._handledType, false); _property = arrayserializerbase._property; _unwrapSingle = arrayserializerbase._unwrapSingle; } protected ArraySerializerBase(ArraySerializerBase arrayserializerbase, BeanProperty beanproperty) { super(arrayserializerbase._handledType, false); _property = beanproperty; _unwrapSingle = arrayserializerbase._unwrapSingle; } protected ArraySerializerBase(ArraySerializerBase arrayserializerbase, BeanProperty beanproperty, Boolean boolean1) { super(arrayserializerbase._handledType, false); _property = beanproperty; _unwrapSingle = boolean1; } protected ArraySerializerBase(Class class1) { super(class1); _property = null; _unwrapSingle = null; } protected ArraySerializerBase(Class class1, BeanProperty beanproperty) { super(class1); _property = beanproperty; _unwrapSingle = null; } public abstract JsonSerializer _withResolved(BeanProperty beanproperty, Boolean boolean1); public JsonSerializer createContextual(SerializerProvider serializerprovider, BeanProperty beanproperty) throws JsonMappingException { Object obj = this; if (beanproperty != null) { serializerprovider = beanproperty.findFormatOverrides(serializerprovider.getAnnotationIntrospector()); obj = this; if (serializerprovider != null) { serializerprovider = serializerprovider.getFeature(com.fasterxml.jackson.annotation.JsonFormat.Feature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED); obj = this; if (serializerprovider != _unwrapSingle) { obj = _withResolved(beanproperty, serializerprovider); } } } return ((JsonSerializer) (obj)); } public void serialize(Object obj, JsonGenerator jsongenerator, SerializerProvider serializerprovider) throws IOException { if ((_unwrapSingle == null && serializerprovider.isEnabled(SerializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED) || _unwrapSingle == Boolean.TRUE) && hasSingleElement(obj)) { serializeContents(obj, jsongenerator, serializerprovider); return; } else { jsongenerator.writeStartArray(); jsongenerator.setCurrentValue(obj); serializeContents(obj, jsongenerator, serializerprovider); jsongenerator.writeEndArray(); return; } } protected abstract void serializeContents(Object obj, JsonGenerator jsongenerator, SerializerProvider serializerprovider) throws IOException; public final void serializeWithType(Object obj, JsonGenerator jsongenerator, SerializerProvider serializerprovider, TypeSerializer typeserializer) throws IOException { typeserializer.writeTypePrefixForArray(obj, jsongenerator); jsongenerator.setCurrentValue(obj); serializeContents(obj, jsongenerator, serializerprovider); typeserializer.writeTypeSuffixForArray(obj, jsongenerator); } }