Example usage for com.fasterxml.jackson.databind.util TokenBuffer setCodec

List of usage examples for com.fasterxml.jackson.databind.util TokenBuffer setCodec

Introduction

In this page you can find the example usage for com.fasterxml.jackson.databind.util TokenBuffer setCodec.

Prototype

public abstract JsonGenerator setCodec(ObjectCodec oc);

Source Link

Document

Method that can be called to set or reset the object to use for writing Java objects as JsonContent (using method #writeObject ).

Usage

From source file:org.mongojack.internal.EmbeddedObjectSerializer.java

protected void writeEmbeddedObject(T value, JsonGenerator jgen) throws IOException {
    if (jgen instanceof BsonObjectGenerator || jgen instanceof DBEncoderBsonGenerator) {
        jgen.writeObject(value);//w w w.  j  ava2  s  .  c o m
    } else if (jgen instanceof TokenBuffer) {
        TokenBuffer buffer = (TokenBuffer) jgen;
        ObjectCodec codec = buffer.getCodec();
        buffer.setCodec(null);
        buffer.writeObject(value);
        buffer.setCodec(codec);
    } else {
        String message = "JsonGenerator of type " + jgen.getClass().getName() + " not supported: "
                + getClass().getName() + " is designed for use only with " + BsonObjectGenerator.class.getName()
                + " or " + DBEncoderBsonGenerator.class.getName() + " or " + TokenBuffer.class.getName();
        throw new IllegalArgumentException(message);
    }
}