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.jongo.query.BsonQueryFactoryTest.java

@Test
public void canHandlePOJOSerializedAsNumber() throws Exception {

    Mapping mapping = new Mapping.Builder().addSerializer(Coordinate.class, new JsonSerializer<Coordinate>() {
        @Override/*w  w  w.  j av a  2 s . co  m*/
        public void serialize(Coordinate value, JsonGenerator jgen, SerializerProvider provider)
                throws IOException {
            jgen.writeNumber(value.lat);
        }
    }).build();
    QueryFactory customFactory = new BsonQueryFactory(new JacksonEngine(mapping));

    DBObject query = customFactory.createQuery("{coordinate:#}", new Coordinate(1, 1)).toDBObject();

    assertThat(query.get("coordinate")).isEqualTo(1);
}

From source file:org.tanrabad.survey.service.json.MultiPolygonTypeConverter.java

private void writePolygonArray(JsonGenerator jsonGenerator, List<Location> subPolygon) throws IOException {
    jsonGenerator.writeStartArray();// w w w.j a v a2s. c  o  m
    for (Location eachLocation : subPolygon) {
        if (eachLocation != null) {
            jsonGenerator.writeStartArray();
            jsonGenerator.writeNumber(eachLocation.getLongitude());
            jsonGenerator.writeNumber(eachLocation.getLatitude());
            jsonGenerator.writeEndArray();
        }
    }
    jsonGenerator.writeEndArray();
}

From source file:de.rallye.mapper.GroupPositionsSerializer.java

@Override
public void serialize(Map<Integer, Node> value, JsonGenerator jgen, SerializerProvider provider)
        throws IOException/*,
                          JsonProcessingException*/ {

    jgen.writeStartArray();/* w  w w  .  j  ava2  s  . c  o m*/

    for (Integer groupId : value.keySet()) {
        int nodeId = value.get(groupId).nodeID;

        jgen.writeStartObject();

        jgen.writeFieldName(Group.GROUP_ID);
        jgen.writeNumber(groupId);

        jgen.writeFieldName(Node.NODE_ID);
        jgen.writeNumber(nodeId);

        jgen.writeEndObject();

    }

    jgen.writeEndArray();

}

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

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

    jgen.writeStartArray();//from   ww  w  .  ja  va  2  s.com

    if (value.getUnit() == Unit.PERCENT) {
        String x = String.valueOf(value.getX()) + "%";
        String y = String.valueOf(value.getY()) + "%";
        jgen.writeString(x);
        jgen.writeString(y);
    } else {
        jgen.writeNumber(value.getX());
        jgen.writeNumber(value.getY());
    }

    jgen.writeEndArray();

}

From source file:io.protostuff.JsonOutput.java

@Override
public void writeDouble(int fieldNumber, double value, boolean repeated) throws IOException {
    if (lastNumber == fieldNumber) {
        // repeated field
        generator.writeNumber(value);
        return;//from   www. j av  a  2s . c  om
    }

    final JsonGenerator generator = this.generator;

    if (lastRepeated)
        generator.writeEndArray();

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

    if (repeated) {
        generator.writeArrayFieldStart(name);
        generator.writeNumber(value);
    } else
        generator.writeNumberField(name, value);

    lastNumber = fieldNumber;
    lastRepeated = repeated;
}

From source file:io.protostuff.JsonOutput.java

@Override
public void writeFloat(int fieldNumber, float value, boolean repeated) throws IOException {
    if (lastNumber == fieldNumber) {
        // repeated field
        generator.writeNumber(value);
        return;/*  www .j a v  a  2s . c om*/
    }

    final JsonGenerator generator = this.generator;

    if (lastRepeated)
        generator.writeEndArray();

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

    if (repeated) {
        generator.writeArrayFieldStart(name);
        generator.writeNumber(value);
    } else
        generator.writeNumberField(name, value);

    lastNumber = fieldNumber;
    lastRepeated = repeated;
}

From source file:io.protostuff.JsonOutput.java

@Override
public void writeInt32(int fieldNumber, int value, boolean repeated) throws IOException {
    if (lastNumber == fieldNumber) {
        // repeated field
        generator.writeNumber(value);
        return;/* w w  w  . jav  a 2  s .c  o m*/
    }

    final JsonGenerator generator = this.generator;

    if (lastRepeated)
        generator.writeEndArray();

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

    if (repeated) {
        generator.writeArrayFieldStart(name);
        generator.writeNumber(value);
    } else
        generator.writeNumberField(name, value);

    lastNumber = fieldNumber;
    lastRepeated = repeated;
}

From source file:io.protostuff.JsonOutput.java

@Override
public void writeInt64(int fieldNumber, long value, boolean repeated) throws IOException {
    if (lastNumber == fieldNumber) {
        // repeated field
        generator.writeNumber(value);
        return;/*from  w  w  w.  j  av  a 2s .  c o  m*/
    }

    final JsonGenerator generator = this.generator;

    if (lastRepeated)
        generator.writeEndArray();

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

    if (repeated) {
        generator.writeArrayFieldStart(name);
        generator.writeNumber(value);
    } else
        generator.writeNumberField(name, value);

    lastNumber = fieldNumber;
    lastRepeated = repeated;
}

From source file:org.emfjson.jackson.streaming.Values.java

private void writeValue(JsonGenerator generator, EDataType type, Object value) throws IOException {
    DataTypeConverter<?, ?> converter = converters.get(type);

    if (converter != null) {
        value = converter.getValue(value);
    }/* w  w  w  .j  a va 2 s .  c  o m*/

    if (value instanceof String) {
        generator.writeString((String) value);
    } else if (value instanceof Integer) {
        generator.writeNumber((Integer) value);
    } else if (value instanceof Boolean) {
        generator.writeBoolean((Boolean) value);
    } else if (value instanceof Double) {
        generator.writeNumber((Double) value);
    } else if (value instanceof Long) {
        generator.writeNumber((Long) value);
    } else if (value instanceof Short) {
        generator.writeNumber((Short) value);
    } else if (value instanceof Float) {
        generator.writeNumber((Float) value);
    } else {
        generator.writeString(convertToString(type, value));
    }
}

From source file:org.example.testcases.BasicTypesSerializer.java

private void writeObject(JsonGenerator jg, BasicTypes basicType) throws IOException {
    jg.writeStartObject();//from   w  w w  .j  a  va  2s .  c om
    // write field aString...
    jg.writeFieldName("aString");
    jg.writeString(basicType.aString);
    // write field aBoolean...
    jg.writeFieldName("aBoolean");
    jg.writeBoolean(basicType.aBoolean);
    // write field aFloat...
    jg.writeFieldName("aFloat");
    jg.writeNumber(basicType.aFloat);
    // write field aDouble...
    jg.writeFieldName("aDouble");
    jg.writeNumber(basicType.aDouble);
    // write field aInt...
    jg.writeFieldName("aInt");
    jg.writeNumber(basicType.aInt);
    // write field aShort...
    jg.writeFieldName("aShort");
    jg.writeNumber(basicType.aShort);
    // write field aByte...
    jg.writeFieldName("aByte");
    jg.writeNumber(basicType.aByte);
    // done.
    jg.writeEndObject();
}