@Override public JsonSerializer<?> _withResolved(BeanProperty prop, Boolean unwrapSingle) { return new IndexedStringListSerializer(this, unwrapSingle); }
@Override protected JsonNode contentSchema() { return createSchemaNode("string", true); }
@Override public void serialize(List<String> value, JsonGenerator g, SerializerProvider provider) throws IOException { final int len = value.size(); if (len == 1) { if (((_unwrapSingle == null) && provider.isEnabled(SerializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED)) || (_unwrapSingle == Boolean.TRUE)) { serializeContents(value, g, provider, 1); return; } } g.writeStartArray(len); serializeContents(value, g, provider, len); g.writeEndArray(); }
private final void _serializeUnwrapped(List<String> value, JsonGenerator jgen, SerializerProvider provider) throws IOException { if (_serializer == null) { serializeContents(value, jgen, provider, 1); } else { serializeUsingCustom(value, jgen, provider, 1); } }
private final void serializeContents(List<String> value, JsonGenerator g, SerializerProvider provider, int len) throws IOException { g.setCurrentValue(value); int i = 0; try { for (; i < len; ++i) { String str = value.get(i); if (str == null) { provider.defaultSerializeNull(g); } else { g.writeString(str); } } } catch (Exception e) { wrapAndThrow(provider, e, value, i); } } }
@Override public void serialize(List<String> value, JsonGenerator jgen, SerializerProvider provider) throws IOException { final int len = value.size(); // [JACKSON-805] if ((len == 1) && provider.isEnabled(SerializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED)) { _serializeUnwrapped(value, jgen, provider); return; } jgen.writeStartArray(len); if (_serializer == null) { serializeContents(value, jgen, provider, len); } else { serializeUsingCustom(value, jgen, provider, len); } jgen.writeEndArray(); }
ser = findConvertingContentSerializer(provider, property, ser); if (ser == null) { ser = provider.findValueSerializer(String.class, property); if (isDefaultSerializer(ser)) { ser = null; return this; return new IndexedStringListSerializer(ser);
public JsonSerializer<?> createContextual(SerializerProvider provider, BeanProperty property) throws JsonMappingException { JsonSerializer<?> ser = _serializer; if (ser == null) { ser = provider.findValueSerializer(String.class, property); } else if (ser instanceof ContextualSerializer) { ser = ((ContextualSerializer) ser).createContextual(provider, property); } // Optimization: default serializer just writes String, so we can avoid a call: if (isDefaultSerializer(ser)) { ser = null; } // note: will never have TypeSerializer, because Strings are "natural" type if (ser == _serializer) { return this; } return new IndexedStringListSerializer(ser); }
private final void _serializeUnwrapped(List<String> value, JsonGenerator jgen, SerializerProvider provider) throws IOException { if (_serializer == null) { serializeContents(value, jgen, provider, 1); } else { serializeUsingCustom(value, jgen, provider, 1); } }
private final void serializeContents(List<String> value, JsonGenerator gen, SerializerProvider provider, int len) throws IOException { int i = 0; try { for (; i < len; ++i) { String str = value.get(i); if (str == null) { provider.defaultSerializeNull(gen); } else { gen.writeString(str); } } } catch (Exception e) { wrapAndThrow(provider, e, value, i); } }
@Override public void serialize(List<String> value, JsonGenerator jgen, SerializerProvider provider) throws IOException { final int len = value.size(); // [JACKSON-805] if ((len == 1) && provider.isEnabled(SerializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED)) { _serializeUnwrapped(value, jgen, provider); return; } jgen.writeStartArray(len); if (_serializer == null) { serializeContents(value, jgen, provider, len); } else { serializeUsingCustom(value, jgen, provider, len); } jgen.writeEndArray(); }
ser = findConvertingContentSerializer(provider, property, ser); if (ser == null) { ser = provider.findValueSerializer(String.class, property); if (isDefaultSerializer(ser)) { ser = null; return this; return new IndexedStringListSerializer(ser);
if (isDefaultSerializer(ser)) { ser = null; return this; return new IndexedStringListSerializer(ser);
private final void _serializeUnwrapped(List<String> value, JsonGenerator gen, SerializerProvider provider) throws IOException { if (_serializer == null) { serializeContents(value, gen, provider, 1); } else { serializeUsingCustom(value, gen, provider, 1); } }
private final void serializeContents(List<String> value, JsonGenerator jgen, SerializerProvider provider, int len) throws IOException { int i = 0; try { for (; i < len; ++i) { String str = value.get(i); if (str == null) { provider.defaultSerializeNull(jgen); } else { jgen.writeString(str); } } } catch (Exception e) { wrapAndThrow(provider, e, value, i); } }
@Override public void serialize(List<String> value, JsonGenerator gen, SerializerProvider provider) throws IOException { final int len = value.size(); if (len == 1) { if (((_unwrapSingle == null) && provider.isEnabled(SerializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED)) || (_unwrapSingle == Boolean.TRUE)) { _serializeUnwrapped(value, gen, provider); return; } } gen.writeStartArray(len); if (_serializer == null) { serializeContents(value, gen, provider, len); } else { serializeUsingCustom(value, gen, provider, len); } gen.writeEndArray(); }
@Override protected JsonNode contentSchema() { return createSchemaNode("string", true); }
@Override public void serializeWithType(List<String> value, JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer) throws IOException { WritableTypeId typeIdDef = typeSer.writeTypePrefix(g, typeSer.typeId(value, JsonToken.START_ARRAY)); serializeContents(value, g, provider, value.size()); typeSer.writeTypeSuffix(g, typeIdDef); }
@Override public JsonSerializer<?> _withResolved(BeanProperty prop, JsonSerializer<?> ser, Boolean unwrapSingle) { return new IndexedStringListSerializer(this, ser, unwrapSingle); }
@Override public void serialize(List<String> value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonGenerationException { jgen.writeStartArray(); if (_serializer == null) { serializeContents(value, jgen, provider); } else { serializeUsingCustom(value, jgen, provider); } jgen.writeEndArray(); }