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(); }
private void writeField(JsonGenerator jsonGenerator, Object event, Deque<Object> objectStack) throws IOException { Object value = getValue(event); if (value != null) { jsonGenerator.writeFieldName(name); if (containerType == ContainerType.ITERABLE) { validateFieldValueType(value, Iterable.class); writeArray(jsonGenerator, (Iterable<?>) value, objectStack); } else if (containerType == ContainerType.MAP) { validateFieldValueType(value, Map.class); writeMap(jsonGenerator, (Map<?, ?>) value, objectStack); } else if (containerType == ContainerType.MULTIMAP) { validateFieldValueType(value, Multimap.class); writeMultimap(jsonGenerator, (Multimap<?, ?>) value, objectStack); } else { writeFieldValue(jsonGenerator, value, objectStack); } } }
public void writeField(JsonGenerator jsonGenerator, Object event) throws IOException { writeField(jsonGenerator, event, new ArrayDeque<>()); }
private void writeArray(JsonGenerator jsonGenerator, Iterable<?> value, Deque<Object> objectStack) throws IOException { jsonGenerator.writeStartArray(); for (Object item : value) { writeFieldValue(jsonGenerator, item, objectStack); } jsonGenerator.writeEndArray(); }
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 writeMultimap(JsonGenerator jsonGenerator, Multimap<?, ?> value, Deque<Object> objectStack) throws IOException { jsonGenerator.writeStartObject(); for (Map.Entry<?, ? extends Collection<?>> entry : value.asMap().entrySet()) { jsonGenerator.writeFieldName((String) entry.getKey()); writeArray(jsonGenerator, entry.getValue(), objectStack); } jsonGenerator.writeEndObject(); }
EventFieldMetadata eventFieldMetadata = new EventFieldMetadata(fieldName, method, eventDataType, nestedType, containerType); if (eventField.fieldMapping() == EventFieldMapping.DATA) { fields.put(fieldName, eventFieldMetadata);
public void writeField(JsonGenerator jsonGenerator, Object event) throws IOException { writeField(jsonGenerator, event, new ArrayDeque<>()); }
private void writeArray(JsonGenerator jsonGenerator, Iterable<?> value, Deque<Object> objectStack) throws IOException { jsonGenerator.writeStartArray(); for (Object item : value) { writeFieldValue(jsonGenerator, item, objectStack); } jsonGenerator.writeEndArray(); }
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 writeMultimap(JsonGenerator jsonGenerator, Multimap<?, ?> value, Deque<Object> objectStack) throws IOException { jsonGenerator.writeStartObject(); for (Map.Entry<?, ? extends Collection<?>> entry : value.asMap().entrySet()) { jsonGenerator.writeFieldName((String) entry.getKey()); writeArray(jsonGenerator, entry.getValue(), objectStack); } jsonGenerator.writeEndObject(); }
EventFieldMetadata eventFieldMetadata = new EventFieldMetadata(fieldName, method, eventDataType, nestedType, containerType); if (eventField.fieldMapping() == EventFieldMapping.DATA) { fields.put(fieldName, eventFieldMetadata);
private void writeField(JsonGenerator jsonGenerator, Object event, Deque<Object> objectStack) throws IOException { Object value = getValue(event); if (value != null) { jsonGenerator.writeFieldName(name); if (containerType == ContainerType.ITERABLE) { validateFieldValueType(value, Iterable.class); writeArray(jsonGenerator, (Iterable<?>) value, objectStack); } else if (containerType == ContainerType.MAP) { validateFieldValueType(value, Map.class); writeMap(jsonGenerator, (Map<?, ?>) value, objectStack); } else if (containerType == ContainerType.MULTIMAP) { validateFieldValueType(value, Multimap.class); writeMultimap(jsonGenerator, (Multimap<?, ?>) value, objectStack); } else { writeFieldValue(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(); }
eventTypeMetadata.getUuidField().writeField(jsonGenerator, event); eventTypeMetadata.getHostField().writeField(jsonGenerator, event); eventTypeMetadata.getTimestampField().writeField(jsonGenerator, event); eventTypeMetadata.getTraceTokenField().writeField(jsonGenerator, event); field.writeField(jsonGenerator, event);
private void writeMap(JsonGenerator jsonGenerator, Map<?, ?> value, Deque<Object> objectStack) throws IOException { jsonGenerator.writeStartObject(); for (Map.Entry<?, ?> entry : value.entrySet()) { jsonGenerator.writeFieldName((String) entry.getKey()); writeFieldValue(jsonGenerator, entry.getValue(), objectStack); } jsonGenerator.writeEndObject(); }
eventTypeMetadata.getUuidField().writeField(jsonGenerator, event); eventTypeMetadata.getHostField().writeField(jsonGenerator, event); eventTypeMetadata.getTimestampField().writeField(jsonGenerator, event); eventTypeMetadata.getTraceTokenField().writeField(jsonGenerator, event); field.writeField(jsonGenerator, event);
private void writeMap(JsonGenerator jsonGenerator, Map<?, ?> value, Deque<Object> objectStack) throws IOException { jsonGenerator.writeStartObject(); for (Map.Entry<?, ?> entry : value.entrySet()) { jsonGenerator.writeFieldName((String) entry.getKey()); writeFieldValue(jsonGenerator, entry.getValue(), objectStack); } jsonGenerator.writeEndObject(); }