com.amazonaws.services.pinpointanalytics.model.transform.EventJsonMarshaller Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aws-android-sdk-pinpoint Show documentation
Show all versions of aws-android-sdk-pinpoint Show documentation
The AWS Android SDK for Amazon Pinpoint module holds the client classes that are used for communicating with Amazon Pinpoint Service
/*
* Copyright 2010-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package com.amazonaws.services.pinpointanalytics.model.transform;
import com.amazonaws.services.pinpointanalytics.model.*;
import com.amazonaws.util.json.AwsJsonWriter;
/**
* JSON marshaller for POJO Event
*/
class EventJsonMarshaller {
public void marshall(Event event, AwsJsonWriter jsonWriter) throws Exception {
jsonWriter.beginObject();
if (event.getEventType() != null) {
String eventType = event.getEventType();
jsonWriter.name("eventType");
jsonWriter.value(eventType);
}
if (event.getTimestamp() != null) {
String timestamp = event.getTimestamp();
jsonWriter.name("timestamp");
jsonWriter.value(timestamp);
}
if (event.getSession() != null) {
Session session = event.getSession();
jsonWriter.name("session");
SessionJsonMarshaller.getInstance().marshall(session, jsonWriter);
}
if (event.getVersion() != null) {
String version = event.getVersion();
jsonWriter.name("version");
jsonWriter.value(version);
}
if (event.getAttributes() != null) {
java.util.Map attributes = event.getAttributes();
jsonWriter.name("attributes");
jsonWriter.beginObject();
for (java.util.Map.Entry attributesEntry : attributes.entrySet()) {
String attributesValue = attributesEntry.getValue();
if (attributesValue != null) {
jsonWriter.name(attributesEntry.getKey());
jsonWriter.value(attributesValue);
}
}
jsonWriter.endObject();
}
if (event.getMetrics() != null) {
java.util.Map metrics = event.getMetrics();
jsonWriter.name("metrics");
jsonWriter.beginObject();
for (java.util.Map.Entry metricsEntry : metrics.entrySet()) {
Double metricsValue = metricsEntry.getValue();
if (metricsValue != null) {
jsonWriter.name(metricsEntry.getKey());
jsonWriter.value(metricsValue);
}
}
jsonWriter.endObject();
}
jsonWriter.endObject();
}
private static EventJsonMarshaller instance;
public static EventJsonMarshaller getInstance() {
if (instance == null)
instance = new EventJsonMarshaller();
return instance;
}
}