// 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.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.JsonArrayFormatVisitor; import com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper; import com.fasterxml.jackson.databind.node.ObjectNode; import com.fasterxml.jackson.databind.ser.ContextualSerializer; import java.lang.reflect.Type; import java.util.Collection; // Referenced classes of package com.fasterxml.jackson.databind.ser.std: // StdSerializer public abstract class StaticListSerializerBase extends StdSerializer implements ContextualSerializer { protected final JsonSerializer _serializer; protected final Boolean _unwrapSingle; protected StaticListSerializerBase(StaticListSerializerBase staticlistserializerbase, JsonSerializer jsonserializer, Boolean boolean1) { super(staticlistserializerbase); _serializer = jsonserializer; _unwrapSingle = boolean1; } protected StaticListSerializerBase(Class class1) { super(class1, false); _serializer = null; _unwrapSingle = null; } public abstract JsonSerializer _withResolved(BeanProperty beanproperty, JsonSerializer jsonserializer, Boolean boolean1); protected abstract void acceptContentVisitor(JsonArrayFormatVisitor jsonarrayformatvisitor) throws JsonMappingException; public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper jsonformatvisitorwrapper, JavaType javatype) throws JsonMappingException { acceptContentVisitor(jsonformatvisitorwrapper.expectArrayFormat(javatype)); } protected abstract JsonNode contentSchema(); public JsonSerializer createContextual(SerializerProvider serializerprovider, BeanProperty beanproperty) throws JsonMappingException { Object obj1 = null; com.fasterxml.jackson.annotation.JsonFormat.Value value = null; Object obj3 = null; Object obj2 = obj3; if (beanproperty != null) { obj1 = serializerprovider.getAnnotationIntrospector(); obj2 = beanproperty.getMember(); JsonSerializer jsonserializer = value; if (obj2 != null) { Object obj4 = ((AnnotationIntrospector) (obj1)).findContentSerializer(((com.fasterxml.jackson.databind.introspect.Annotated) (obj2))); jsonserializer = value; if (obj4 != null) { jsonserializer = serializerprovider.serializerInstance(((com.fasterxml.jackson.databind.introspect.Annotated) (obj2)), obj4); } } value = beanproperty.findFormatOverrides(((AnnotationIntrospector) (obj1))); obj1 = jsonserializer; obj2 = obj3; if (value != null) { obj2 = value.getFeature(com.fasterxml.jackson.annotation.JsonFormat.Feature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED); obj1 = jsonserializer; } } Object obj = obj1; if (obj1 == null) { obj = _serializer; } obj = findConvertingContentSerializer(serializerprovider, beanproperty, ((JsonSerializer) (obj))); if (obj == null) { serializerprovider = serializerprovider.findValueSerializer(java/lang/String, beanproperty); } else { serializerprovider = serializerprovider.handleSecondaryContextualization(((JsonSerializer) (obj)), beanproperty); } obj = serializerprovider; if (isDefaultSerializer(serializerprovider)) { obj = null; } if (obj == _serializer && obj2 == _unwrapSingle) { return this; } else { return _withResolved(beanproperty, ((JsonSerializer) (obj)), ((Boolean) (obj2))); } } public JsonNode getSchema(SerializerProvider serializerprovider, Type type) { return createSchemaNode("array", true).set("items", contentSchema()); } public volatile boolean isEmpty(SerializerProvider serializerprovider, Object obj) { return isEmpty(serializerprovider, (Collection)obj); } public boolean isEmpty(SerializerProvider serializerprovider, Collection collection) { return collection == null || collection.size() == 0; } public volatile boolean isEmpty(Object obj) { return isEmpty((Collection)obj); } public boolean isEmpty(Collection collection) { return isEmpty(null, collection); } }