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

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

Introduction

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

Prototype

public abstract void writeNumber(String encodedValue)
        throws IOException, JsonGenerationException, UnsupportedOperationException;

Source Link

Document

Write method that can be used for custom numeric types that can not be (easily?) converted to "standard" Java number types.

Usage

From source file:org.h2gis.drivers.geojson.GeoJsonWriteDriver.java

/**
 * Write coordinate positions.//from   w  w w  . java 2s  .  co m
 *
 * @param coordinate
 * @param gen
 * @throws IOException
 */
private void writeCoordinate(Coordinate coordinate, JsonGenerator gen) throws IOException {
    gen.writeStartArray();
    gen.writeNumber(coordinate.x);
    gen.writeNumber(coordinate.y);
    if (!Double.isNaN(coordinate.z)) {
        gen.writeNumber(coordinate.z);
    }
    gen.writeEndArray();
}

From source file:ninja.leaping.configurate.json.JSONConfigurationLoader.java

private void generateValue(JsonGenerator generator, ConfigurationNode node) throws IOException {
    if (node.hasMapChildren()) {
        generateObject(generator, node);
    } else if (node.hasListChildren()) {
        generateArray(generator, node);/*from  ww  w. ja  va2  s.com*/
    } else {
        Object value = node.getValue();
        if (value instanceof Double) {
            generator.writeNumber((Double) value);
        } else if (value instanceof Float) {
            generator.writeNumber((Float) value);
        } else if (value instanceof Long) {
            generator.writeNumber((Long) value);
        } else if (value instanceof Integer) {
            generator.writeNumber((Integer) value);
        } else if (value instanceof Boolean) {
            generator.writeBoolean((Boolean) value);
        } else if (value instanceof byte[]) {
            generator.writeBinary((byte[]) value);
        } else {
            generator.writeString(value.toString());
        }
    }
}

From source file:de.escalon.hypermedia.spring.de.escalon.hypermedia.spring.jackson.LinkListSerializer.java

private void writeScalarValue(JsonGenerator jgen, Object possibleValue, Class<?> valueType) throws IOException {
    if (Number.class.isAssignableFrom(valueType)) {
        jgen.writeNumber(possibleValue.toString());
    } else if (Boolean.class.isAssignableFrom(valueType)) {
        jgen.writeBoolean((Boolean) possibleValue);
    } else if (Enum.class.isAssignableFrom(valueType)) {
        jgen.writeString(((Enum) possibleValue).name());
    } else {//w ww. j  a  v  a  2  s.  c o m
        jgen.writeString(possibleValue.toString());
    }
}

From source file:data.DefaultExchanger.java

protected void putInt(JsonGenerator generator, String fieldName, ResultSet rs, short index)
        throws SQLException, IOException {
    generator.writeFieldName(fieldName);
    int value = rs.getInt(index);
    if (rs.wasNull()) {
        generator.writeNull();//www .j  a va  2 s .  c  o  m
    } else {
        generator.writeNumber(value);
    }
}

From source file:data.DefaultExchanger.java

protected void putDate(JsonGenerator generator, String fieldName, ResultSet rs, short index)
        throws SQLException, IOException {
    generator.writeFieldName(fieldName);
    Date date = rs.getDate(index);
    if (date == null) {
        generator.writeNull();/*from w w w.ja  v a2s .  co  m*/
    } else {
        generator.writeNumber(date.getTime());
    }
}

From source file:data.DefaultExchanger.java

protected void putLong(JsonGenerator generator, String fieldName, ResultSet rs, short index)
        throws SQLException, IOException {
    generator.writeFieldName(fieldName);
    long value = rs.getLong(index);
    if (rs.wasNull()) {
        generator.writeNull();//from ww  w.ja  v  a2s.c  om
    } else {
        generator.writeNumber(value);
    }
}

From source file:io.debezium.document.JacksonWriter.java

protected void writeValue(Value value, JsonGenerator generator) throws IOException {
    switch (value.getType()) {
    case NULL://from  www.ja  v a 2s .  com
        generator.writeNull();
        break;
    case STRING:
        generator.writeString(value.asString());
        break;
    case BOOLEAN:
        generator.writeBoolean(value.asBoolean());
        break;
    case BINARY:
        generator.writeBinary(value.asBytes());
        break;
    case INTEGER:
        generator.writeNumber(value.asInteger());
        break;
    case LONG:
        generator.writeNumber(value.asLong());
        break;
    case FLOAT:
        generator.writeNumber(value.asFloat());
        break;
    case DOUBLE:
        generator.writeNumber(value.asDouble());
        break;
    case BIG_INTEGER:
        generator.writeNumber(value.asBigInteger());
        break;
    case DECIMAL:
        generator.writeNumber(value.asBigDecimal());
        break;
    case DOCUMENT:
        writeDocument(value.asDocument(), generator);
        break;
    case ARRAY:
        writeArray(value.asArray(), generator);
        break;
    }
}

From source file:data.DefaultExchanger.java

protected void putTimestamp(JsonGenerator generator, String fieldName, ResultSet rs, short index)
        throws SQLException, IOException {
    generator.writeFieldName(fieldName);
    Timestamp timestamp = rs.getTimestamp(index);
    if (timestamp == null) {
        generator.writeNull();//from   w  w w  . j a v a  2  s  .c  o m
    } else {
        generator.writeNumber(timestamp.getTime());
    }
}

From source file:io.pdef.json.JsonJacksonFormat.java

private <T> void write(final T object, final DataTypeDescriptor<T> descriptor, final JsonGenerator generator)
        throws IOException {
    if (object == null) {
        generator.writeNull();//from   ww  w.  ja v a  2  s  .  com
        return;
    }

    switch (descriptor.getType()) {
    case BOOL:
        generator.writeBoolean((Boolean) object);
        break;
    case INT16:
        generator.writeNumber((Short) object);
        break;
    case INT32:
        generator.writeNumber((Integer) object);
        break;
    case INT64:
        generator.writeNumber((Long) object);
        break;
    case FLOAT:
        generator.writeNumber((Float) object);
        break;
    case DOUBLE:
        generator.writeNumber((Double) object);
        break;
    case STRING:
        generator.writeString((String) object);
        break;
    case DATETIME:
        writeDatetime((Date) object, generator);
        break;
    case LIST:
        writeList((List) object, (ListDescriptor) descriptor, generator);
        break;
    case SET:
        writeSet((Set) object, (SetDescriptor) descriptor, generator);
        break;
    case MAP:
        writeMap((Map) object, (MapDescriptor) descriptor, generator);
        break;
    case VOID:
        generator.writeNull();
        break;
    case ENUM:
        writeEnum((Enum) object, generator);
        break;
    case MESSAGE:
        writeMessage((Message) object, generator);
        break;
    default:
        throw new JsonFormatException("Unsupported descriptor " + descriptor);
    }
}

From source file:com.cloudera.exhibit.server.json.ExhibitSerializer.java

private void serializeObsArray(Obs obs, ObsDescriptor desc, JsonGenerator gen) throws IOException {
    for (int i = 0; i < desc.size(); i++) {
        ObsDescriptor.Field f = desc.get(i);
        Object value = obs.get(i);
        if (value == null) {
            gen.writeNull();/*from  ww w.  ja  v  a2s.  c om*/
        } else {
            switch (f.type) {
            case STRING:
                gen.writeString(value.toString());
                break;
            case BOOLEAN:
                gen.writeBoolean((Boolean) value);
                break;
            case INTEGER:
                gen.writeNumber(((Number) value).intValue());
                break;
            case FLOAT:
                gen.writeNumber(((Number) value).floatValue());
                break;
            case DOUBLE:
                gen.writeNumber(((Number) value).doubleValue());
                break;
            case LONG:
                gen.writeNumber(((Number) value).longValue());
                break;
            default:
                throw new UnsupportedOperationException("Unknown type for field: " + f);
            }
        }
    }
}