package org.zendesk.client.v2.model; import com.fasterxml.jackson.annotation.JsonProperty; import java.io.Serializable; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.Map; /** * @author stephenc * @since 05/04/2013 15:32 */ public class User extends Collaborator implements SearchResultEntity, Serializable { private static final long serialVersionUID = 1L; private Long id; private String url; private String externalId; private String alias; private Date createdAt; private Date updatedAt; private Boolean active; private Boolean verified; private Boolean shared; private Long localeId; private String locale; private String timeZone; private Date lastLoginAt; private String phone; private String signature; private String details; private String notes; private Long organizationId; private Role role; private Long customRoleId; private Boolean moderator; private TicketRestriction ticketRestriction; private Boolean onlyPrivateComments; private List<String> tags; private Boolean suspended; private Attachment photo; private List<Identity> identities; private String remotePhotoUrl; private Map<String, Object> userFields; public User() { } public User(Boolean verified, String name, String email) { super(name, email); this.verified = verified; } public User(Boolean verified, String name, List<Identity> identities) { super(name); this.verified = verified; this.identities = identities; } public User(Boolean verified, String name, Identity... identities) { super(name); this.verified = verified; this.identities = new ArrayList<Identity>(Arrays.asList(identities)); } public User(String name, String email) { super(name, email); } public User(String name, List<Identity> identities) { super(name); this.identities = identities; } public User(String name, Identity... identities) { super(name); this.identities = new ArrayList<Identity>(Arrays.asList(identities)); } public List<Identity> getIdentities() { return identities; } public void setIdentities(List<Identity> identities) { this.identities = identities; } public Boolean getActive() { return active; } public void setActive(Boolean active) { this.active = active; } public String getAlias() { return alias; } public void setAlias(String alias) { this.alias = alias; } @JsonProperty("created_at") public Date getCreatedAt() { return createdAt; } public void setCreatedAt(Date createdAt) { this.createdAt = createdAt; } @JsonProperty("custom_role_id") public Long getCustomRoleId() { return customRoleId; } public void setCustomRoleId(Long customRoleId) { this.customRoleId = customRoleId; } public String getDetails() { return details; } public void setDetails(String details) { this.details = details; } @JsonProperty("external_id") public String getExternalId() { return externalId; } public void setExternalId(String externalId) { this.externalId = externalId; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } @JsonProperty("last_login_at") public Date getLastLoginAt() { return lastLoginAt; } public void setLastLoginAt(Date lastLoginAt) { this.lastLoginAt = lastLoginAt; } @JsonProperty("locale_id") public Long getLocaleId() { return localeId; } public void setLocaleId(Long localeId) { this.localeId = localeId; } @JsonProperty("locale") public String getLocale() { return locale; } public void setLocale(String locale) { this.locale = locale; } public Boolean getModerator() { return moderator; } public void setModerator(Boolean moderator) { this.moderator = moderator; } public String getNotes() { return notes; } public void setNotes(String notes) { this.notes = notes; } @JsonProperty("only_private_comments") public Boolean getOnlyPrivateComments() { return onlyPrivateComments; } public void setOnlyPrivateComments(Boolean onlyPrivateComments) { this.onlyPrivateComments = onlyPrivateComments; } @JsonProperty("organization_id") public Long getOrganizationId() { return organizationId; } public void setOrganizationId(Long organizationId) { this.organizationId = organizationId; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public Attachment getPhoto() { return photo; } public void setPhoto(Attachment photo) { this.photo = photo; } public Role getRole() { return role; } public void setRole(Role role) { this.role = role; } public Boolean getShared() { return shared; } public void setShared(Boolean shared) { this.shared = shared; } public String getSignature() { return signature; } public void setSignature(String signature) { this.signature = signature; } public Boolean getSuspended() { return suspended; } public void setSuspended(Boolean suspended) { this.suspended = suspended; } public List<String> getTags() { return tags; } public void setTags(List<String> tags) { this.tags = tags; } @JsonProperty("ticket_restriction") public TicketRestriction getTicketRestriction() { return ticketRestriction; } public void setTicketRestriction(TicketRestriction ticketRestriction) { this.ticketRestriction = ticketRestriction; } @JsonProperty("time_zone") public String getTimeZone() { return timeZone; } public void setTimeZone(String timeZone) { this.timeZone = timeZone; } @JsonProperty("updated_at") public Date getUpdatedAt() { return updatedAt; } public void setUpdatedAt(Date updatedAt) { this.updatedAt = updatedAt; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } @JsonProperty("user_fields") public Map<String, Object> getUserFields() { return userFields; } public void setUserFields(Map<String, Object> userFields) { this.userFields = userFields; } public Boolean getVerified() { return verified; } public void setVerified(Boolean verified) { this.verified = verified; } @JsonProperty("remote_photo_url") public String getRemotePhotoUrl() { return remotePhotoUrl; } public void setRemotePhotoUrl(String remotePhotoUrl) { this.remotePhotoUrl = remotePhotoUrl; } }