// 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.impl; import com.fasterxml.jackson.core.JsonGenerationException; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.BeanProperty; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.databind.SerializerProvider; import com.fasterxml.jackson.databind.jsonFormatVisitors.JsonArrayFormatVisitor; import com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatTypes; import com.fasterxml.jackson.databind.jsontype.TypeSerializer; import com.fasterxml.jackson.databind.ser.std.StaticListSerializerBase; import java.io.IOException; import java.util.Collection; import java.util.Iterator; public class StringCollectionSerializer extends StaticListSerializerBase { public static final StringCollectionSerializer instance = new StringCollectionSerializer(); protected StringCollectionSerializer() { super(java/util/Collection); } protected StringCollectionSerializer(StringCollectionSerializer stringcollectionserializer, JsonSerializer jsonserializer, Boolean boolean1) { super(stringcollectionserializer, jsonserializer, boolean1); } private final void _serializeUnwrapped(Collection collection, JsonGenerator jsongenerator, SerializerProvider serializerprovider) throws IOException { if (_serializer == null) { serializeContents(collection, jsongenerator, serializerprovider); return; } else { serializeUsingCustom(collection, jsongenerator, serializerprovider); return; } } private final void serializeContents(Collection collection, JsonGenerator jsongenerator, SerializerProvider serializerprovider) throws IOException, JsonGenerationException { if (_serializer == null) goto _L2; else goto _L1 _L1: serializeUsingCustom(collection, jsongenerator, serializerprovider); _L6: return; _L2: Iterator iterator; int i; i = 0; iterator = collection.iterator(); _L4: label0: { if (!iterator.hasNext()) { continue; /* Loop/switch isn't completed */ } String s = (String)iterator.next(); if (s == null) { try { serializerprovider.defaultSerializeNull(jsongenerator); break label0; } catch (Exception exception) { wrapAndThrow(serializerprovider, exception, collection, i); } break; /* Loop/switch isn't completed */ } } jsongenerator.writeString(s); i++; if (true) goto _L4; else goto _L3 _L3: if (true) goto _L6; else goto _L5 _L5: } private void serializeUsingCustom(Collection collection, JsonGenerator jsongenerator, SerializerProvider serializerprovider) throws IOException, JsonGenerationException { JsonSerializer jsonserializer; Iterator iterator; jsonserializer = _serializer; iterator = collection.iterator(); _L2: Object obj; if (!iterator.hasNext()) { break; /* Loop/switch isn't completed */ } obj = (String)iterator.next(); if (obj == null) { try { serializerprovider.defaultSerializeNull(jsongenerator); } // Misplaced declaration of an exception variable catch (Object obj) { wrapAndThrow(serializerprovider, ((Throwable) (obj)), collection, 0); } continue; /* Loop/switch isn't completed */ } jsonserializer.serialize(obj, jsongenerator, serializerprovider); if (true) goto _L2; else goto _L1 _L1: } public JsonSerializer _withResolved(BeanProperty beanproperty, JsonSerializer jsonserializer, Boolean boolean1) { return new StringCollectionSerializer(this, jsonserializer, boolean1); } protected void acceptContentVisitor(JsonArrayFormatVisitor jsonarrayformatvisitor) throws JsonMappingException { jsonarrayformatvisitor.itemsFormat(JsonFormatTypes.STRING); } protected JsonNode contentSchema() { return createSchemaNode("string", true); } public volatile void serialize(Object obj, JsonGenerator jsongenerator, SerializerProvider serializerprovider) throws IOException { serialize((Collection)obj, jsongenerator, serializerprovider); } public void serialize(Collection collection, JsonGenerator jsongenerator, SerializerProvider serializerprovider) throws IOException { int i = collection.size(); if (i == 1 && (_unwrapSingle == null && serializerprovider.isEnabled(SerializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED) || _unwrapSingle == Boolean.TRUE)) { _serializeUnwrapped(collection, jsongenerator, serializerprovider); return; } jsongenerator.writeStartArray(i); if (_serializer == null) { serializeContents(collection, jsongenerator, serializerprovider); } else { serializeUsingCustom(collection, jsongenerator, serializerprovider); } jsongenerator.writeEndArray(); } public volatile void serializeWithType(Object obj, JsonGenerator jsongenerator, SerializerProvider serializerprovider, TypeSerializer typeserializer) throws IOException { serializeWithType((Collection)obj, jsongenerator, serializerprovider, typeserializer); } public void serializeWithType(Collection collection, JsonGenerator jsongenerator, SerializerProvider serializerprovider, TypeSerializer typeserializer) throws IOException, JsonGenerationException { typeserializer.writeTypePrefixForArray(collection, jsongenerator); if (_serializer == null) { serializeContents(collection, jsongenerator, serializerprovider); } else { serializeUsingCustom(collection, jsongenerator, serializerprovider); } typeserializer.writeTypeSuffixForArray(collection, jsongenerator); } }