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

com.mparticle.sdk.model.registration.DeviceIdentityPermission Maven / Gradle / Ivy

package com.mparticle.sdk.model.registration;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.mparticle.sdk.model.eventprocessing.DeviceIdentity;
import com.mparticle.sdk.model.eventprocessing.Identity;

public final class DeviceIdentityPermission {

    @JsonProperty(value="type", required=true)
    private final DeviceIdentity.Type type;

    @JsonProperty(value="encoding", required=true)
    private final Identity.Encoding encoding;

    @JsonProperty("required")
    private final boolean isRequired;

    /**
     *
     * @return device identity type
     */
    public DeviceIdentity.Type getType() {
        return type;
    }

    /**
     *
     * @return device identity encoding
     */
    public Identity.Encoding getEncoding() {
        return encoding;
    }

    /**
     *
     * @return true if identity is required
     */
    public boolean isRequired() {
        return isRequired;
    }

    /**
     *
     * @param type identity type
     * @param encoding identity encoding
     * @param isRequired if set to true, devices missing this identity will be ignored
     */
    @JsonCreator
    public DeviceIdentityPermission(
            @JsonProperty(value = "type", required = true) DeviceIdentity.Type type,
            @JsonProperty(value = "encoding", required = true) Identity.Encoding encoding,
            @JsonProperty("required") boolean isRequired) {
        this.type = type;
        this.encoding = encoding;
        this.isRequired = isRequired;
    }

    /**
     *
     * @param type identity type
     * @param encoding identity encoding
     */
    public DeviceIdentityPermission(DeviceIdentity.Type type, Identity.Encoding encoding) {
        this(type, encoding, false);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy