Example usage for com.fasterxml.jackson.core JsonGenerator writeBinary

List of usage examples for com.fasterxml.jackson.core JsonGenerator writeBinary

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core JsonGenerator writeBinary.

Prototype

public abstract int writeBinary(Base64Variant b64variant, InputStream data, int dataLength)
        throws IOException, JsonGenerationException;

Source Link

Document

Method similar to #writeBinary(Base64Variant,byte[],int,int) , but where input is provided through a stream, allowing for incremental writes without holding the whole input in memory.

Usage

From source file:com.google.api.server.spi.response.ServletResponseResultWriter.java

private static SimpleModule getWriteBlobAsBase64Module() {
    JsonSerializer<Blob> dateSerializer = new JsonSerializer<Blob>() {
        @Override/*from  w w  w  . j  a  v a  2s .co  m*/
        public void serialize(Blob value, JsonGenerator jgen, SerializerProvider provider) throws IOException {
            byte[] bytes = value.getBytes();
            jgen.writeBinary(bytes, 0, bytes.length);
        }
    };
    SimpleModule writeBlobAsBase64Module = new SimpleModule("writeBlobAsBase64Module",
            new Version(1, 0, 0, null, null, null));
    writeBlobAsBase64Module.addSerializer(Blob.class, dateSerializer);
    return writeBlobAsBase64Module;
}

From source file:io.protostuff.JsonOutput.java

@Override
public void writeByteRange(boolean utf8String, int fieldNumber, byte[] value, int offset, int length,
        boolean repeated) throws IOException {
    if (lastNumber == fieldNumber) {
        // repeated field
        if (utf8String)
            generator.writeUTF8String(value, offset, length);
        else/*from w  ww . j av  a 2s  .c o m*/
            generator.writeBinary(value, offset, length);
        return;
    }

    final JsonGenerator generator = this.generator;

    if (lastRepeated)
        generator.writeEndArray();

    final String name = numeric ? Integer.toString(fieldNumber) : schema.getFieldName(fieldNumber);

    if (repeated) {
        generator.writeArrayFieldStart(name);
        if (utf8String)
            generator.writeUTF8String(value, offset, length);
        else
            generator.writeBinary(value, offset, length);
    } else {
        generator.writeFieldName(name);
        if (utf8String)
            generator.writeUTF8String(value, offset, length);
        else
            generator.writeBinary(value, offset, length);
    }

    lastNumber = fieldNumber;
    lastRepeated = repeated;
}