/** {@inheritDoc} */ @Override public void doSerialize( JsonWriter writer, C values, JsonSerializationContext ctx, JsonSerializerParameters params ) { if ( values.isEmpty() ) { if ( ctx.isWriteEmptyJsonArrays() ) { writer.beginArray(); writer.endArray(); } else { writer.cancelName(); } return; } if ( ctx.isWriteSingleElemArraysUnwrapped() && values.size() == 1 ) { // there is only one element, we write it directly serializer.serialize( writer, values.iterator().next(), ctx, params ); } else { writer.beginArray(); for ( T value : values ) { serializer.serialize( writer, value, ctx, params ); } writer.endArray(); } } }
/** {@inheritDoc} */ @Override public void doSerialize( JsonWriter writer, char[] values, JsonSerializationContext ctx, JsonSerializerParameters params ) { if ( !ctx.isWriteEmptyJsonArrays() && values.length == 0 ) { writer.cancelName(); return; } if ( ctx.isWriteCharArraysAsJsonArrays() && !(ctx.isWriteSingleElemArraysUnwrapped() && values.length == 1) ) { writer.beginArray(); for ( char value : values ) { writer.value( Character.toString( value ) ); } writer.endArray(); } else { writer.value( new String( values ) ); } } }
if ( ctx.isWriteSingleElemArraysUnwrapped() ) {
/** {@inheritDoc} */ @Override public void doSerialize( JsonWriter writer, float[] values, JsonSerializationContext ctx, JsonSerializerParameters params ) { if ( !ctx.isWriteEmptyJsonArrays() && values.length == 0 ) { writer.cancelName(); return; } if ( ctx.isWriteSingleElemArraysUnwrapped() && values.length == 1 ) { writer.value( values[0] ); } else { writer.beginArray(); for ( float value : values ) { writer.value( value ); } writer.endArray(); } } }
/** {@inheritDoc} */ @Override public void doSerialize( JsonWriter writer, short[] values, JsonSerializationContext ctx, JsonSerializerParameters params ) { if ( !ctx.isWriteEmptyJsonArrays() && values.length == 0 ) { writer.cancelName(); return; } if ( ctx.isWriteSingleElemArraysUnwrapped() && values.length == 1 ) { writer.value( values[0] ); } else { writer.beginArray(); for ( short value : values ) { writer.value( value ); } writer.endArray(); } } }
/** {@inheritDoc} */ @Override public void doSerialize( JsonWriter writer, int[] values, JsonSerializationContext ctx, JsonSerializerParameters params ) { if ( !ctx.isWriteEmptyJsonArrays() && values.length == 0 ) { writer.cancelName(); return; } if ( ctx.isWriteSingleElemArraysUnwrapped() && values.length == 1 ) { writer.value( values[0] ); } else { writer.beginArray(); for ( int value : values ) { writer.value( value ); } writer.endArray(); } } }
/** {@inheritDoc} */ @Override public void doSerialize( JsonWriter writer, T[] values, JsonSerializationContext ctx, JsonSerializerParameters params ) { if ( !ctx.isWriteEmptyJsonArrays() && values.length == 0 ) { writer.cancelName(); return; } if ( ctx.isWriteSingleElemArraysUnwrapped() && values.length == 1 ) { serializer.serialize( writer, values[0], ctx, params ); } else { writer.beginArray(); for ( T value : values ) { serializer.serialize( writer, value, ctx, params ); } writer.endArray(); } } }
/** {@inheritDoc} */ @Override public void doSerialize( JsonWriter writer, double[] values, JsonSerializationContext ctx, JsonSerializerParameters params ) { if ( !ctx.isWriteEmptyJsonArrays() && values.length == 0 ) { writer.cancelName(); return; } if ( ctx.isWriteSingleElemArraysUnwrapped() && values.length == 1 ) { writer.value( values[0] ); } else { writer.beginArray(); for ( double value : values ) { writer.value( value ); } writer.endArray(); } } }
/** {@inheritDoc} */ @Override public void doSerialize( JsonWriter writer, long[] values, JsonSerializationContext ctx, JsonSerializerParameters params ) { if ( !ctx.isWriteEmptyJsonArrays() && values.length == 0 ) { writer.cancelName(); return; } if ( ctx.isWriteSingleElemArraysUnwrapped() && values.length == 1 ) { writer.value( values[0] ); } else { writer.beginArray(); for ( long value : values ) { writer.value( value ); } writer.endArray(); } } }
/** {@inheritDoc} */ @Override public void doSerialize( JsonWriter writer, boolean[] values, JsonSerializationContext ctx, JsonSerializerParameters params ) { if ( !ctx.isWriteEmptyJsonArrays() && values.length == 0 ) { writer.cancelName(); return; } if ( ctx.isWriteSingleElemArraysUnwrapped() && values.length == 1 ) { writer.value( values[0] ); } else { writer.beginArray(); for ( boolean value : values ) { writer.value( value ); } writer.endArray(); } } }