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

org.zendesk.client.v2.model.Ticket Maven / Gradle / Ivy

There is a newer version: 1.2.0
Show newest version
package org.zendesk.client.v2.model;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;

import java.util.Date;
import java.util.List;

/**
 * @author stephenc
 * @since 04/04/2013 14:25
 */
@JsonIgnoreProperties(ignoreUnknown = true)
public class Ticket extends Request implements SearchResultEntity {

    private static final long serialVersionUID = 1L;

    private String externalId;
    private Type type;
    private Priority priority;
    private String recipient;
    private Long submitterId;
    private Long assigneeId;
    private Long groupId;
    private List collaboratorIds;
    private List collaborators;
    private Long forumTopicId;
    private Long problemId;
    private boolean hasIncidents;
    private Date dueAt;
    private List tags;
    private List customFields;
    private SatisfactionRating satisfactionRating;
    private List sharingAgreementIds;
    private List followupIds;
    private Long ticketFormId;
    private Long brandId;

    public Ticket() {
    }

    public Ticket(Requester requester, String subject, Comment comment) {
        this.subject = subject;
        this.requester = requester;
        this.comment = comment;
    }

    public Ticket(long requesterId, String subject, Comment comment) {
        this.subject = subject;
        this.requesterId = requesterId;
        this.comment = comment;
    }

    @JsonProperty("assignee_id")
    public Long getAssigneeId() {
        return assigneeId;
    }

    public void setAssigneeId(Long assigneeId) {
        this.assigneeId = assigneeId;
    }

    @JsonProperty("collaborator_ids")
    public List getCollaboratorIds() {
        return collaboratorIds;
    }

    public void setCollaboratorIds(List collaboratorIds) {
        this.collaboratorIds = collaboratorIds;
    }

    @JsonProperty("collaborators")
    private List getCollaborators() {
        return collaborators;
    }

    public void setCollaborators(List collaborators) {
        this.collaborators = collaborators;
    }

    @JsonProperty("custom_fields")
    public List getCustomFields() {
        return customFields;
    }

    public void setCustomFields(List customFields) {
        this.customFields = customFields;
    }

    @JsonProperty("due_at")
    public Date getDueAt() {
        return dueAt;
    }

    public void setDueAt(Date dueAt) {
        this.dueAt = dueAt;
    }

    @JsonProperty("external_id")
    public String getExternalId() {
        return externalId;
    }

    public void setExternalId(String externalId) {
        this.externalId = externalId;
    }

    @JsonProperty("followup_ids")
    public List getFollowupIds() {
        return followupIds;
    }

    public void setFollowupIds(List followupIds) {
        this.followupIds = followupIds;
    }

    @JsonProperty("forum_topic_id")
    public Long getForumTopicId() {
        return forumTopicId;
    }

    public void setForumTopicId(Long forumTopicId) {
        this.forumTopicId = forumTopicId;
    }

    @JsonProperty("group_id")
    public Long getGroupId() {
        return groupId;
    }

    public void setGroupId(Long groupId) {
        this.groupId = groupId;
    }

    @JsonProperty("has_incidents")
    public boolean isHasIncidents() {
        return hasIncidents;
    }

    public void setHasIncidents(boolean hasIncidents) {
        this.hasIncidents = hasIncidents;
    }

    public Priority getPriority() {
        return priority;
    }

    public void setPriority(Priority priority) {
        this.priority = priority;
    }

    @JsonProperty("problem_id")
    public Long getProblemId() {
        return problemId;
    }

    public void setProblemId(Long problemId) {
        this.problemId = problemId;
    }

    public String getRecipient() {
        return recipient;
    }

    public void setRecipient(String recipient) {
        this.recipient = recipient;
    }

    @JsonProperty("brand_id")
    public Long getBrandId() {
        return brandId;
    }

    public void setBrandId(Long brandId) {
        this.brandId = brandId;
    }

    public Requester getRequester() {
        return requester;
    }

    public void setRequester(Requester requester) {
        this.requester = requester;
        if (requester != null) {
            this.requesterId = null;
        }
    }

    @JsonProperty("satisfaction_rating")
    public SatisfactionRating getSatisfactionRating() {
        return satisfactionRating;
    }

    public void setSatisfactionRating(SatisfactionRating satisfactionRating) {
        this.satisfactionRating = satisfactionRating;
    }

    @JsonProperty("sharing_agreement_ids")
    public List getSharingAgreementIds() {
        return sharingAgreementIds;
    }

    public void setSharingAgreementIds(List sharingAgreementIds) {
        this.sharingAgreementIds = sharingAgreementIds;
    }

    @JsonProperty("submitter_id")
    public Long getSubmitterId() {
        return submitterId;
    }

    public void setSubmitterId(Long submitterId) {
        this.submitterId = submitterId;
    }

    public List getTags() {
        return tags;
    }

    public void setTags(List tags) {
        this.tags = tags;
    }

    @JsonProperty("ticket_form_id")
    public Long getTicketFormId() {
        return ticketFormId;
    }

    public void setTicketFormId(Long ticketFormId) {
        this.ticketFormId = ticketFormId;
    }

    public Type getType() {
        return type;
    }

    public void setType(Type type) {
        this.type = type;
    }

    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder();
        sb.append("Ticket");
        sb.append("{assigneeId=").append(assigneeId);
        sb.append(", id=").append(id);
        sb.append(", url='").append(url).append('\'');
        sb.append(", externalId='").append(externalId).append('\'');
        sb.append(", type='").append(type).append('\'');
        sb.append(", subject='").append(subject).append('\'');
        sb.append(", description='").append(description).append('\'');
        sb.append(", priority='").append(priority).append('\'');
        sb.append(", status='").append(status).append('\'');
        sb.append(", recipient='").append(recipient).append('\'');
        sb.append(", requesterId=").append(requesterId);
        sb.append(", submitterId=").append(submitterId);
        sb.append(", organizationId=").append(organizationId);
        sb.append(", groupId=").append(groupId);
        sb.append(", collaboratorIds=").append(collaboratorIds);
        sb.append(", forumTopicId=").append(forumTopicId);
        sb.append(", problemId=").append(problemId);
        sb.append(", hasIncidents=").append(hasIncidents);
        sb.append(", dueAt=").append(dueAt);
        sb.append(", tags=").append(tags);
        sb.append(", via=").append(via);
        sb.append(", customFields=").append(customFields);
        sb.append(", satisfactionRating=").append(satisfactionRating);
        sb.append(", sharingAgreementIds=").append(sharingAgreementIds);
        sb.append(", followupIds=").append(followupIds);
        sb.append(", ticketFormId=").append(ticketFormId);
        sb.append(", brandId=").append(brandId);
        sb.append(", createdAt=").append(createdAt);
        sb.append(", updatedAt=").append(updatedAt);
        sb.append('}');
        return sb.toString();
    }

    public static class Requester {
        private Integer localeId;
        private String name;
        private String email;

        public Requester() {
        }

        public Requester(String email) {
            this.email = email;
        }

        public Requester(String name, String email) {
            this.name = name;
            this.email = email;
        }

        public Requester(Integer localeId, String name, String email) {
            this.localeId = localeId;
            this.name = name;
            this.email = email;
        }

        @JsonProperty("locale_id")
        public Integer getLocaleId() {
            return localeId;
        }

        public void setLocaleId(Integer localeId) {
            this.localeId = localeId;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getEmail() {
            return email;
        }

        public void setEmail(String email) {
            this.email = email;
        }

        @Override
        public String toString() {
            final StringBuilder sb = new StringBuilder();
            sb.append("Requester");
            sb.append("{localeId=").append(localeId);
            sb.append(", name='").append(name).append('\'');
            sb.append(", email='").append(email).append('\'');
            sb.append('}');
            return sb.toString();
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy