com.adgear.anoa.write.CollectionWriter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of anoa-core Show documentation
Show all versions of anoa-core Show documentation
Core classes for Anoa library, which aims to be a safe, convenient and fast record
de/serialization wrapper for the Avro, Thrift and Jackson libraries, using the functional idioms
of Java 8.
The anoa-core module tries to keep upstream dependencies to a minimum.
package com.adgear.anoa.write;
import com.fasterxml.jackson.core.JsonGenerator;
import java.io.IOException;
import java.util.Collection;
class CollectionWriter extends AbstractWriter> {
final AbstractWriter elementWriter;
CollectionWriter(AbstractWriter elementWriter) {
this.elementWriter = elementWriter;
}
@Override
protected void writeChecked(Collection array, JsonGenerator jacksonGenerator) throws IOException {
jacksonGenerator.writeStartArray(array.size());
for (E element : array) {
if (element == null) {
jacksonGenerator.writeNull();
} else {
elementWriter.writeChecked(element, jacksonGenerator);
}
}
jacksonGenerator.writeEndArray();
}
}