private void writeFieldValue(JsonGenerator jsonGenerator, Object value, Deque<Object> objectStack) throws IOException { if (eventDataType != null) { eventDataType.writeFieldValue(jsonGenerator, value); } else { validateFieldValueType(value, nestedType.getEventClass()); writeObject(jsonGenerator, value, objectStack); } }
@Override public Class<T> handledType() { return eventTypeMetadata.getEventClass(); }
@Override public void write(OutputStream out) throws Exception { eventWriter.writeEvents(events, token, out); } }
private void writeObject(JsonGenerator jsonGenerator, Object value, Deque<Object> objectStack) throws IOException { checkForCycles(value, objectStack); objectStack.push(value); jsonGenerator.writeStartObject(); for (EventFieldMetadata field : nestedType.getFields()) { field.writeField(jsonGenerator, value, objectStack); } jsonGenerator.writeEndObject(); objectStack.pop(); }
public JsonEventSerializer(NodeInfo nodeInfo, Class<?>... eventClasses) { this(nodeInfo, getValidEventTypeMetaDataSet(eventClasses)); }
public static EventBinder eventBinder(Binder binder) { return new EventBinder(binder); }
public void bindEventClient(Class<?>... types) { bindGenericEventClient(types); }
public String getFieldName() { return UPPER_UNDERSCORE.to(LOWER_CAMEL, name()); } }
public void writeFieldValue(JsonGenerator jsonGenerator, Object value) throws IOException { validateFieldValueType(value, Integer.class); jsonGenerator.writeNumber((Integer) value); } },
public void writeFieldValue(JsonGenerator jsonGenerator, Object value) throws IOException { validateFieldValueType(value, Long.class); jsonGenerator.writeNumber((Long) value); } },
@Override public void writeFieldValue(JsonGenerator jsonGenerator, Object value) throws IOException { validateFieldValueType(value, Double.class); jsonGenerator.writeNumber((Double) value); } },
private static void checkForCycles(Object value, Deque<Object> objectStack) throws InvalidEventException { for (Object o : objectStack) { if (value == o) { List<Object> path = Lists.reverse(Lists.newArrayList(objectStack)); throw new InvalidEventException("Cycle detected in event data: %s", path); } } } }
@Override public void writeFieldValue(JsonGenerator jsonGenerator, Object value) throws IOException { validateFieldValueType(value, Boolean.class); jsonGenerator.writeBoolean((Boolean) value); } },
@Override public void generate(EventPoster<T> eventPoster) throws IOException { for (T event : events) { eventPoster.post(event); } } });
private void writeFieldValue(JsonGenerator jsonGenerator, Object value, Deque<Object> objectStack) throws IOException { if (eventDataType != null) { eventDataType.writeFieldValue(jsonGenerator, value); } else { validateFieldValueType(value, nestedType.getEventClass()); writeObject(jsonGenerator, value, objectStack); } }
private void writeObject(JsonGenerator jsonGenerator, Object value, Deque<Object> objectStack) throws IOException { checkForCycles(value, objectStack); objectStack.push(value); jsonGenerator.writeStartObject(); for (EventFieldMetadata field : nestedType.getFields()) { field.writeField(jsonGenerator, value, objectStack); } jsonGenerator.writeEndObject(); objectStack.pop(); }
@Override public Class<T> handledType() { return eventTypeMetadata.getEventClass(); }
public JsonEventSerializer(NodeInfo nodeInfo, Class<?>... eventClasses) { this(nodeInfo, getValidEventTypeMetaDataSet(eventClasses)); }
public static EventBinder eventBinder(Binder binder) { return new EventBinder(binder); }
public void bindEventClient(Class<?>... types) { bindGenericEventClient(types); }