All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.urbanairship.api.push.parse.notification.ios.IOSInterruptionLevelDeserializer Maven / Gradle / Ivy

There is a newer version: 9.4.2
Show newest version
package com.urbanairship.api.push.parse.notification.ios;

import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.urbanairship.api.common.parse.APIParsingException;
import com.urbanairship.api.push.model.notification.ios.IOSInterruptionLevel;

import java.io.IOException;
import java.util.Optional;

public final class IOSInterruptionLevelDeserializer extends JsonDeserializer {

    @Override
    public IOSInterruptionLevel deserialize(JsonParser jp, DeserializationContext ctx) throws IOException {
        String iOSInterruptionLevelString = jp.getText();
        Optional iosInterruptionLevel = IOSInterruptionLevel.find(iOSInterruptionLevelString);

        if (!iosInterruptionLevel.isPresent()) {
            throw new APIParsingException("Unrecognized interruption level " + iOSInterruptionLevelString);
        }

        return iosInterruptionLevel.get();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy