com.urbanairship.api.experiments.parse.ExperimentObjectMapper Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of java-client Show documentation
Show all versions of java-client Show documentation
The Urban Airship Java client library
/*
* Copyright (c) 2013-2017. Urban Airship and Contributors
*/
package com.urbanairship.api.experiments.parse;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.module.SimpleModule;
import com.fasterxml.jackson.datatype.joda.JodaModule;
import com.urbanairship.api.experiments.model.Experiment;
import com.urbanairship.api.experiments.model.ExperimentResponse;
import com.urbanairship.api.experiments.model.Variant;
import com.urbanairship.api.experiments.model.VariantPushPayload;
import com.urbanairship.api.push.parse.PushObjectMapper;
public class ExperimentObjectMapper {
private static final ObjectMapper MAPPER = new ObjectMapper();
private static final SimpleModule MODULE = new SimpleModule("Experiment API Module");
static {
MODULE
.addDeserializer(Experiment.class, new ExperimentDeserializer())
.addSerializer(Experiment.class, new ExperimentSerializer())
.addDeserializer(Variant.class, new VariantDeserializer())
.addSerializer(Variant.class, new VariantSerializer())
.addDeserializer(VariantPushPayload.class, new VariantPushPayloadDeserializer())
.addSerializer(VariantPushPayload.class, new VariantPushPayloadSerializer())
.addDeserializer(ExperimentResponse.class, new ExperimentResponseDeserializer());
MAPPER.registerModule(MODULE);
MAPPER.registerModule(PushObjectMapper.getModule());
MAPPER.registerModule(new JodaModule());
MAPPER.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
}
public static SimpleModule getModule() {
return MODULE;
}
public static ObjectMapper getInstance() {
return MAPPER;
}
private ExperimentObjectMapper() {}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy