Example usage for com.fasterxml.jackson.dataformat.xml.ser ToXmlGenerator getOutputContext

List of usage examples for com.fasterxml.jackson.dataformat.xml.ser ToXmlGenerator getOutputContext

Introduction

In this page you can find the example usage for com.fasterxml.jackson.dataformat.xml.ser ToXmlGenerator getOutputContext.

Prototype

@Override
public final JsonWriteContext getOutputContext() 

Source Link

Document

Note: co-variant return type.

Usage

From source file:com.ning.billing.recurly.model.jackson.RecurlyObjectsSerializer.java

@Override
public void serialize(final T values, final JsonGenerator jgen, final SerializerProvider provider)
        throws IOException {
    if (values.isEmpty()) {
        jgen.writeStartArray();//  ww  w.java  2s . com
        jgen.writeEndArray();
        return;
    }

    final ToXmlGenerator xmlgen = (ToXmlGenerator) jgen;
    // Nested RecurlyObjects
    final boolean shouldSkipWritingFieldName = xmlgen.getOutputContext()
            .writeFieldName(elementName) == JsonWriteContext.STATUS_EXPECT_VALUE;
    boolean firstValue = true;
    for (final U value : values) {
        if (!shouldSkipWritingFieldName && firstValue) {
            xmlgen.setNextName(new QName(null, elementName));
        } else if (!shouldSkipWritingFieldName) {
            xmlgen.writeFieldName(elementName);
        }
        firstValue = false;

        xmlgen.writeObject(value);
    }
}