com.urbanairship.api.push.model.notification.adm.ADMDevicePayload 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-2016. Urban Airship and Contributors
*/
package com.urbanairship.api.push.model.notification.adm;
import com.google.common.base.Optional;
import com.google.common.collect.ImmutableMap;
import com.urbanairship.api.push.model.DeviceType;
import com.urbanairship.api.push.model.PushExpiry;
import com.urbanairship.api.push.model.PushModelObject;
import com.urbanairship.api.push.model.notification.DevicePayloadOverride;
import com.urbanairship.api.push.model.notification.Interactive;
import java.util.Map;
public final class ADMDevicePayload extends PushModelObject implements DevicePayloadOverride {
private final Optional alert;
private final Optional consolidationKey;
private final Optional expiresAfter;
private final Optional> extra;
private final Optional interactive;
private ADMDevicePayload(Optional alert,
Optional consolidationKey,
Optional expiresAfter,
Optional> extra,
Optional interactive) {
this.alert = alert;
this.consolidationKey = consolidationKey;
this.expiresAfter = expiresAfter;
this.extra = extra;
this.interactive = interactive;
}
public static Builder newBuilder() {
return new Builder();
}
@Override
public DeviceType getDeviceType() {
return DeviceType.AMAZON;
}
@Override
public Optional getAlert() {
return alert;
}
public Optional getConsolidationKey() {
return consolidationKey;
}
public Optional getExpiresAfter() {
return expiresAfter;
}
public Optional> getExtra() {
return extra;
}
public Optional getInteractive() {
return interactive;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
ADMDevicePayload that = (ADMDevicePayload)o;
if (alert != null ? !alert.equals(that.alert) : that.alert != null) {
return false;
}
if (consolidationKey != null ? !consolidationKey.equals(that.consolidationKey) : that.consolidationKey != null) {
return false;
}
if (expiresAfter != null ? !expiresAfter.equals(that.expiresAfter) : that.expiresAfter != null) {
return false;
}
if (extra != null ? !extra.equals(that.extra) : that.extra != null) {
return false;
}
if (interactive != null ? !interactive.equals(that.interactive) : that.extra != null) {
return false;
}
return true;
}
@Override
public int hashCode() {
int result = (alert != null ? alert.hashCode() : 0);
result = 31 * result + (consolidationKey != null ? consolidationKey.hashCode() : 0);
result = 31 * result + (expiresAfter != null ? expiresAfter.hashCode() : 0);
result = 31 * result + (extra != null ? extra.hashCode() : 0);
result = 31 * result + (interactive != null ? interactive.hashCode() : 0);
return result;
}
public static class Builder {
private String alert = null;
private String consolidationKey = null;
private PushExpiry expiresAfter = null;
private ImmutableMap.Builder extra = null;
private Interactive interactive = null;
private Builder() { }
public Builder setAlert(String alert) {
this.alert = alert;
return this;
}
public Builder setConsolidationKey(String consolidationKey) {
this.consolidationKey = consolidationKey;
return this;
}
public Builder setExpiresAfter(PushExpiry value) {
this.expiresAfter = value;
return this;
}
public Builder addExtraEntry(String key, String value) {
if (extra == null) {
extra = ImmutableMap.builder();
}
this.extra.put(key, value);
return this;
}
public Builder addAllExtraEntries(Map entries) {
if (extra == null) {
extra = ImmutableMap.builder();
}
this.extra.putAll(entries);
return this;
}
public Builder setInteractive(Interactive value) {
this.interactive = value;
return this;
}
public ADMDevicePayload build() {
return new ADMDevicePayload(Optional.fromNullable(alert),
Optional.fromNullable(consolidationKey),
Optional.fromNullable(expiresAfter),
extra == null ? Optional.>absent() : Optional.fromNullable(extra.build()),
Optional.fromNullable(interactive));
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy