
org.infobip.mobile.messaging.api.appinstance.UserBody Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of infobip-mobile-messaging-api-java Show documentation
Show all versions of infobip-mobile-messaging-api-java Show documentation
Mobile Messaging SDK for Android
The newest version!
package org.infobip.mobile.messaging.api.appinstance;
import org.infobip.mobile.messaging.api.support.http.serialization.JsonSerializer;
import org.infobip.mobile.messaging.api.support.util.StringUtils;
import java.util.List;
import java.util.Map;
import java.util.Set;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* User data synchronization response.
*
* @author sslavin
* @since 15/07/16.
*/
@Data
@NoArgsConstructor
public class UserBody {
private static final JsonSerializer serializer = new JsonSerializer(false);
private String externalUserId;
private String firstName;
private String lastName;
private String middleName;
private String birthday;
private String gender;
private String type;
private Set emails;
private Set phones;
private Set tags;
private Map customAttributes;
private List instances;
public abstract static class Destination {
public abstract String getDestinationId();
public abstract Boolean getPreferred();
@Override
public int hashCode() {
final int prime = 9;
int result = 1;
result = appendToHash(result, prime, getDestinationId());
result = appendToHash(result, prime, getPreferred());
return result;
}
private static int appendToHash(int result, int prime, Object o) {
return prime * result + (o == null ? 0 : o.hashCode());
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || this.getClass() != o.getClass()) {
return false;
}
Destination other = (Destination) o;
return StringUtils.equals(other.getDestinationId(), this.getDestinationId());
}
}
public static class Phone extends Destination {
String number;
Boolean preferred;
public Phone(String number) {
this(number, null);
}
public Phone(String number, Boolean preferred) {
this.number = number;
this.preferred = null;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
@Override
public String getDestinationId() {
return getNumber();
}
@Override
public Boolean getPreferred() {
return preferred;
}
public void setPreferred(Boolean preferred) {
this.preferred = preferred;
}
}
public static class Email extends Destination {
String address;
Boolean preferred;
public Email(String address) {
this(address, null);
}
public Email(String address, Boolean preferred) {
this.address = address;
this.preferred = null;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String getDestinationId() {
return getAddress();
}
@Override
public Boolean getPreferred() {
return preferred;
}
public void setPreferred(Boolean preferred) {
this.preferred = preferred;
}
}
@Override
public String toString() {
return serializer.serialize(this);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy