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

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

Introduction

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

Prototype

public final void writeObjectField(String fieldName, Object pojo) throws IOException, JsonProcessingException 

Source Link

Document

Convenience method for outputting a field entry ("member") that has contents of specific Java object as its value.

Usage

From source file:org.lambdamatic.internal.elasticsearch.codec.RangeQuerySerializer.java

@Override
public void serialize(final RangeQuery rangeQuery, final JsonGenerator generator,
        final SerializerProvider serializers) throws IOException, JsonProcessingException {
    generator.writeStartObject();/*  ww  w .j  a  va  2s.c o m*/
    generator.writeObjectFieldStart("range");
    generator.writeObjectFieldStart(rangeQuery.getFieldName());
    switch (rangeQuery.getType()) {
    case GT:
        generator.writeObjectField("gt", rangeQuery.getValue());
        break;
    case GTE:
        generator.writeObjectField("gte", rangeQuery.getValue());
        break;
    default:
        throw new CodecException("Unsupported (yet range type: " + rangeQuery.getType());
    }
    if (rangeQuery.getBoostFactor() != 1.0f) {
        generator.writeNumberField("boost", rangeQuery.getBoostFactor());
    }
    generator.writeEndObject();
    generator.writeEndObject();
    generator.writeEndObject();
}

From source file:com.mattjbishop.halapino.EmbeddedSerializer.java

private void writeOutResources(Map<String, List<HALRepresentation>> resources, JsonGenerator jgen)
        throws IOException, JsonProcessingException {
    for (Map.Entry<String, List<HALRepresentation>> entry : resources.entrySet()) {

        if (entry.getValue().size() == 1) // Write single resource
        {/*from   w w  w .ja v  a 2 s.  c o m*/
            HALRepresentation resource = entry.getValue().iterator().next();
            jgen.writeObjectField(entry.getKey(), resource);
        } else // write resource collection
        {
            jgen.writeArrayFieldStart(entry.getKey());

            for (HALRepresentation resource : entry.getValue()) {
                jgen.writeObject(resource);
            }

            jgen.writeEndArray();
        }
    }
}

From source file:com.googlecode.wickedcharts.highcharts.jackson.CrosshairSerializer.java

@Override
public void serialize(final Crosshair value, final JsonGenerator jgen, final SerializerProvider provider)
        throws IOException, JsonProcessingException {

    if (value.getColor() != null || value.getDashStyle() != null || value.getWidth() != null
            || value.getzIndex() != null) {
        jgen.writeStartObject();//  w w w.  j  av  a  2 s.c om
        if (value.getColor() != null) {
            jgen.writeObjectField("color", value.getColor());
        }
        if (value.getDashStyle() != null) {
            jgen.writeObjectField("dashStyle", value.getDashStyle());
        }
        if (value.getWidth() != null) {
            jgen.writeObjectField("width", value.getWidth());
        }
        if (value.getzIndex() != null) {
            jgen.writeObjectField("zIndex", value.getzIndex());
        }
        jgen.writeEndObject();
    } else {
        // if no attributes are given, simply render true
        jgen.writeBoolean(true);
    }

}

From source file:com.mattjbishop.halapino.LinkSerializer.java

private void writeOutLinks(Map<String, List<Link>> links, JsonGenerator jgen)
        throws IOException, JsonProcessingException {
    for (Map.Entry<String, List<Link>> entry : links.entrySet()) {
        if (entry.getValue().size() == 1) // Write single link
        {//from  www . j a v a2  s .  co m
            Link link = entry.getValue().iterator().next();
            reconcileTemplated(link);
            jgen.writeObjectField(entry.getKey(), link);
        } else // Write link array
        {
            jgen.writeArrayFieldStart(entry.getKey());

            for (Link link : entry.getValue()) {
                reconcileTemplated(link);
                jgen.writeObject(link);
            }

            jgen.writeEndArray();
        }

    }

}

From source file:com.ning.metrics.action.hdfs.reader.HdfsEntry.java

public void toJson(final JsonGenerator generator) throws IOException {
    Iterator<Row> content = null;
    try {// w ww.j  a va2 s .  c  om
        content = getContent();
    } catch (IOException ignored) {
    }

    generator.writeStartObject();

    generator.writeObjectField(JSON_ENTRY_PATH, getPath());
    generator.writeObjectField(JSON_ENTRY_MTIME, getModificationDate().getMillis());
    generator.writeObjectField(JSON_ENTRY_SIZE, getSize());
    generator.writeObjectField(JSON_ENTRY_REPLICATION, getReplication());
    generator.writeObjectField(JSON_ENTRY_IS_DIR, isDirectory());
    // Important: need to flush before appending pre-serialized events
    generator.flush();

    generator.writeArrayFieldStart(JSON_ENTRY_CONTENT);
    if (content != null) {
        while (content.hasNext()) {
            content.next().toJSON(generator);
        }
    }
    generator.writeEndArray();

    generator.writeEndObject();
    generator.flush();
}

From source file:com.basistech.rosette.dm.jackson.ListAttributeSerializer.java

@Override
public void serializeWithType(ListAttribute value, JsonGenerator jgen, SerializerProvider provider,
        TypeSerializer typeSer) throws IOException {
    typeSer.writeTypePrefixForObject(value, jgen);

    KnownAttribute attributeForClass = KnownAttribute.getAttributeForClass(value.getItemClass());
    assert attributeForClass != null;
    jgen.writeStringField("itemType", attributeForClass.key());
    jgen.writeObjectField("items", value.getItems());
    writeExtendedProperties(value, jgen);
    typeSer.writeTypeSuffixForObject(value, jgen);
}

From source file:com.strategicgains.hyperexpress.serialization.jackson.HalResourceSerializer.java

private void writeCuries(List<Namespace> namespaces, boolean isEmbedded, JsonGenerator jgen)
        throws IOException, JsonGenerationException, JsonProcessingException {
    if (isEmbedded || namespaces.isEmpty())
        return;//  w w w. ja va  2s. c o m

    if (namespaces.size() == 1) // Write single namespace
    {
        jgen.writeObjectField(CURIES, namespaces.iterator().next());
    } else // Write namespace array
    {
        jgen.writeArrayFieldStart(CURIES);

        for (Namespace ns : namespaces) {
            jgen.writeObject(ns);
        }

        jgen.writeEndArray();
    }
}

From source file:org.pentaho.metaverse.impl.model.kettle.json.AbstractJobEntryJsonSerializer.java

protected void writeRepoAttributes(T meta, JsonGenerator json) throws IOException {

    ObjectId jobId = meta.getObjectId() == null ? new StringObjectId(meta.getName()) : meta.getObjectId();

    LineageRepository repo = getLineageRepository();
    if (repo != null) {
        Map<String, Object> attrs = repo.getJobEntryAttributesCache(jobId);
        json.writeObjectField(JSON_PROPERTY_ATTRIBUTES, attrs);

        List<Map<String, Object>> fields = repo.getJobEntryFieldsCache(jobId);
        json.writeObjectField(JSON_PROPERTY_FIELDS, fields);
    }//from   w  w w  .j  av  a2 s. c om

}

From source file:com.arpnetworking.logback.serialization.BaseSerializationStrategy.java

/**
 * This function assumes the field object has already been started for this throwable, this only fills in
 * the fields in the 'exception' or equivalent object and does not create the field in the containing object.
 *
 * @param throwableProxy Throwable to serialize
 * @param jsonGenerator  <code>JsonGenerator</code> instance after exception object is started
 * @param objectMapper <code>ObjectMapper</code> instance.
 * @throws IOException If writing the <code>Throwable</code> as JSON fails.
 *//*from www  . j  a  v a2 s  .co  m*/
protected void serializeThrowable(final IThrowableProxy throwableProxy, final JsonGenerator jsonGenerator,
        final ObjectMapper objectMapper) throws IOException {

    jsonGenerator.writeObjectField("type", throwableProxy.getClassName());
    jsonGenerator.writeObjectField("message", throwableProxy.getMessage());
    jsonGenerator.writeArrayFieldStart("backtrace");
    for (StackTraceElementProxy ste : throwableProxy.getStackTraceElementProxyArray()) {
        jsonGenerator.writeString(ste.toString());
    }
    jsonGenerator.writeEndArray();
    jsonGenerator.writeObjectFieldStart("data");
    if (throwableProxy.getSuppressed() != null) {
        jsonGenerator.writeArrayFieldStart("suppressed");
        for (IThrowableProxy suppressed : throwableProxy.getSuppressed()) {
            jsonGenerator.writeStartObject();
            serializeThrowable(suppressed, jsonGenerator, objectMapper);
            jsonGenerator.writeEndObject();
        }
        jsonGenerator.writeEndArray();
    }
    if (throwableProxy.getCause() != null) {
        jsonGenerator.writeObjectFieldStart("cause");
        serializeThrowable(throwableProxy.getCause(), jsonGenerator, objectMapper);
        jsonGenerator.writeEndObject();
    }
    jsonGenerator.writeEndObject();
}

From source file:com.ning.metrics.action.hdfs.reader.HdfsListing.java

@SuppressWarnings({ "unchecked", "unused" })
public void toJson(final OutputStream out, final boolean pretty) throws IOException {
    final String parentPath = getParentPath() == null ? "" : getParentPath();

    final JsonGenerator generator = new JsonFactory().createJsonGenerator(out);
    generator.configure(JsonGenerator.Feature.AUTO_CLOSE_TARGET, false);
    if (pretty) {
        generator.setPrettyPrinter(new DefaultPrettyPrinter());
    }//from   w w  w . jav  a  2s .  c o m

    generator.writeStartObject();
    generator.writeObjectField(JSON_LISTING_PATH, getPath());
    generator.writeObjectField(JSON_LISTING_PARENT_PATH, parentPath);
    generator.writeArrayFieldStart(JSON_LISTING_ENTRIES);
    // Important: need to flush before appending pre-serialized events
    generator.flush();

    for (HdfsEntry entry : getEntries()) {
        entry.toJson(generator);
    }
    generator.writeEndArray();

    generator.writeEndObject();
    generator.close();
}