/** * Convenience method for outputting a field entry ("member") * that has the specified numeric value. Equivalent to: *<pre> * writeFieldName(fieldName); * writeNumber(value); *</pre> */ public final void writeNumberField(String fieldName, double value) throws IOException { writeFieldName(fieldName); writeNumber(value); }
public static void getJsonFromPrimitiveByteArray(JsonGenerator jg, byte[] array, String pf) throws JsonGenerationException, IOException { jg.writeStartArray(); for (byte obj : array) { jg.writeNumber(obj); } jg.writeEndArray(); }
gen.writeString((String) obj); gen.writeNumber((Long) obj); gen.writeNumber((Integer) obj); gen.writeNumber((Short) obj); gen.writeNumber((Double) obj); gen.writeNumber((Float) obj); gen.writeNumber((BigInteger) obj); gen.writeNumber((BigDecimal) obj);
@Override public void writePrimitiveArray(Object array, int start, int length) throws IOException { gen.writeStartArray(); Class<?> componentType = array.getClass().getComponentType(); if ( componentType != int.class ) { gen.writeString(componentType.getSimpleName()); } else { // fast path for int int arr[] = (int[]) array; for (int i=0; i < length; i++ ) { gen.writeNumber(arr[i]); gen.writeEndArray(); return; long arr[] = (long[]) array; for (int i=0; i < length; i++ ) { gen.writeNumber(arr[i]); gen.writeNumber(arr[i]); gen.writeNumber(arr[i]); Number num = (Number) Array.get(array, start + i); if ( num instanceof Float || num instanceof Double ) { gen.writeNumber(num.doubleValue()); } else gen.writeNumber(num.longValue()); gen.writeEndArray();
public class OrderTypeSerializer extends JsonSerializer<OrderType> { @Override public void serialize(OrderType value, JsonGenerator generator, SerializerProvider provider) throws IOException, JsonProcessingException { generator.writeStartObject(); generator.writeFieldName("id"); generator.writeNumber(value.getId()); generator.writeFieldName("name"); generator.writeString(value.getName()); generator.writeEndObject(); } }
@Override public void writeInt32(int fieldNumber, int value, boolean repeated) throws IOException { if (lastNumber == fieldNumber) { // repeated field generator.writeNumber(value); return; } 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; }
@Override public void writeUInt32(int fieldNumber, int value, boolean repeated) throws IOException { String unsignedValue = UnsignedNumberUtil.unsignedIntToString(value); if (lastNumber == fieldNumber) { // repeated field generator.writeNumber(unsignedValue); return; } 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(unsignedValue); } else { generator.writeFieldName(name); generator.writeNumber(unsignedValue); } lastNumber = fieldNumber; lastRepeated = repeated; }
/** * Serialize this pair of histograms out as a JSON document using the given JsonGenerator. The format is: * <pre> { * sums: [], * counts: [] * } </pre> */ public void writeJson(JsonGenerator jgen) throws JsonGenerationException, IOException { // The number of features reached during each minute, ignoring their magnitudes jgen.writeArrayFieldStart("sums"); { for(int sum : sums) { jgen.writeNumber(sum); } } jgen.writeEndArray(); // The total number of opportunities reached during each minute (the sum of the features' magnitudes) jgen.writeArrayFieldStart("counts"); { for(int count : counts) { jgen.writeNumber(count); } } jgen.writeEndArray(); } }
jgen.writeStartArray(); jgen.writeNumber(value.coordinates[1][0]); jgen.writeNumber(value.coordinates[0][0]); jgen.writeEndArray(); jgen.writeStartArray(); jgen.writeNumber(value.coordinates[1][1]); jgen.writeNumber(value.coordinates[0][0]); jgen.writeEndArray(); jgen.writeNumber(value.coordinates[1][1]); jgen.writeNumber(value.coordinates[0][1]); jgen.writeEndArray(); jgen.writeNumber(value.coordinates[1][0]); jgen.writeNumber(value.coordinates[0][1]); break; case CIRCLE: jgen.writeString(Type.CIRCLE.toString()); jgen.writeFieldName(FIELD_RADIUS); jgen.writeNumber(value.getRadius()); jgen.writeNumber(value.coordinates[1][0]); jgen.writeNumber(value.coordinates[0][0]); jgen.writeNumber(value.coordinates[1][0]); jgen.writeNumber(value.coordinates[0][0]);
public static void getJsonFromPrimitiveDoubleArray(JsonGenerator jg, double[] array, String pf) throws JsonGenerationException, IOException { jg.writeStartArray(); for (double obj : array) { jg.writeNumber(obj); } jg.writeEndArray(); }
/** * Method that will handle serialization of Date(-like) values, using * {@link SerializationConfig} settings to determine expected serialization * behavior. * Note: date here means "full" date, that is, date AND time, as per * Java convention (and not date-only values like in SQL) */ public final void defaultSerializeDateValue(Date date, JsonGenerator gen) throws IOException { if (isEnabled(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)) { gen.writeNumber(date.getTime()); } else { gen.writeString(_dateFormat().format(date)); } }
/** * I believe these two messages are called for a thrift service * interface. We don't plan on storing any text objects of that * type on disk. */ @Override public void writeMessageBegin(TMessage message) throws TException { try { getCurrentWriter().writeStartObject(); getCurrentWriter().writeFieldName("method"); getCurrentWriter().writeString(message.name); getCurrentWriter().writeFieldName("type"); TypedParser.TMESSAGE_TYPE.writeValue(getCurrentWriter(), message.type); getCurrentWriter().writeFieldName("seqid"); getCurrentWriter().writeNumber(message.seqid); getCurrentWriter().writeFieldName("args"); } catch (IOException e) { throw new TTransportException(e); } }
/** * Convenience method for outputting a field entry ("member") * that has the specified numeric value. Equivalent to: *<pre> * writeFieldName(fieldName); * writeNumber(value); *</pre> */ public final void writeNumberField(String fieldName, float value) throws IOException { writeFieldName(fieldName); writeNumber(value); }
@Override public void writeInt64(int fieldNumber, long value, boolean repeated) throws IOException { if (lastNumber == fieldNumber) { // repeated field generator.writeNumber(value); return; } 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; }
@Override public void writeUInt64(int fieldNumber, long value, boolean repeated) throws IOException { String unsignedValue = UnsignedNumberUtil.unsignedLongToString(value); if (lastNumber == fieldNumber) { // repeated field generator.writeNumber(unsignedValue); return; } 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(unsignedValue); } else { generator.writeFieldName(name); generator.writeNumber(unsignedValue); } lastNumber = fieldNumber; lastRepeated = repeated; }
@Override public void writePrimitiveArray(Object array, int start, int length) throws IOException { gen.writeStartArray(); Class<?> componentType = array.getClass().getComponentType(); if ( componentType != int.class ) { gen.writeString(componentType.getSimpleName()); } else { // fast path for int int arr[] = (int[]) array; for (int i=0; i < length; i++ ) { gen.writeNumber(arr[i]); gen.writeEndArray(); return; long arr[] = (long[]) array; for (int i=0; i < length; i++ ) { gen.writeNumber(arr[i]); gen.writeNumber(arr[i]); gen.writeNumber(arr[i]); Number num = (Number) Array.get(array, start + i); if ( num instanceof Float || num instanceof Double ) { gen.writeNumber(num.doubleValue()); } else gen.writeNumber(num.longValue()); gen.writeEndArray();
public static void getJsonFromBigDecimalArray(JsonGenerator jg, BigDecimal[] array, String pf) throws JsonGenerationException, IOException { jg.writeStartArray(); for (BigDecimal obj : array) { jg.writeNumber(obj); } jg.writeEndArray(); }
/** * Method that will handle serialization of Date(-like) values, using * {@link SerializationConfig} settings to determine expected serialization * behavior. * Note: date here means "full" date, that is, date AND time, as per * Java convention (and not date-only values like in SQL) */ public final void defaultSerializeDateValue(long timestamp, JsonGenerator gen) throws IOException { if (isEnabled(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)) { gen.writeNumber(timestamp); } else { gen.writeString(_dateFormat().format(new Date(timestamp))); } }
final String stringValue = DataTypeUtils.toString(coercedValue, () -> DataTypeUtils.getDateFormat(this.dateFormat)); if (DataTypeUtils.isLongTypeCompatible(stringValue)) { generator.writeNumber(DataTypeUtils.toLong(coercedValue, fieldName)); } else { generator.writeString(stringValue); final String stringValue = DataTypeUtils.toString(coercedValue, () -> DataTypeUtils.getDateFormat(this.timeFormat)); if (DataTypeUtils.isLongTypeCompatible(stringValue)) { generator.writeNumber(DataTypeUtils.toLong(coercedValue, fieldName)); } else { generator.writeString(stringValue); final String stringValue = DataTypeUtils.toString(coercedValue, () -> DataTypeUtils.getDateFormat(this.timestampFormat)); if (DataTypeUtils.isLongTypeCompatible(stringValue)) { generator.writeNumber(DataTypeUtils.toLong(coercedValue, fieldName)); } else { generator.writeString(stringValue); generator.writeNumber(DataTypeUtils.toDouble(coercedValue, fieldName)); break; case FLOAT: generator.writeNumber(DataTypeUtils.toFloat(coercedValue, fieldName)); break; case LONG: generator.writeNumber(DataTypeUtils.toLong(coercedValue, fieldName)); break; case INT: case BYTE: case SHORT:
/** * Convenience method for outputting a field entry ("member") * that has the specified numeric value. Equivalent to: *<pre> * writeFieldName(fieldName); * writeNumber(value); *</pre> */ public final void writeNumberField(String fieldName, int value) throws IOException { writeFieldName(fieldName); writeNumber(value); }