package com.instructure.canvasapi.model; import android.os.Parcel; import com.instructure.canvasapi.utilities.APIHelpers; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * @author Josh Ruesch * * Copyright (c) 2014 Instructure. All rights reserved. */ public class Message extends CanvasModel<Message> { private long id; private String created_at; private String body; private long author_id; private boolean generated; private List<Attachment> attachments = new ArrayList<>(); private MediaComment media_comment; private Submission submission; private List<Message> forwarded_messages = new ArrayList<>(); private List<Long> participating_user_ids = new ArrayList<>(); /////////////////////////////////////////////////////////////////////////// // Getters and Setters /////////////////////////////////////////////////////////////////////////// @Override public long getId() { return id; } public void setId(long id) { this.id = id; } public Date getCreationDate() { return APIHelpers.stringToDate(created_at); } public void setCreationDate(String createdAt) { this.created_at = createdAt; } public String getBody() { return body; } public void setBody(String body) { this.body = body; } public long getAuthorID() { return author_id; } public void setAuthorId(long authorId) { this.author_id = authorId; } public boolean isGenerated() { return generated; } public MediaComment getMediaComment() { return media_comment; } public void setMediaComment(MediaComment mediaComment) { this.media_comment = mediaComment; } public List<Attachment> getAttachments() { return attachments; } public void setAttachments(List<Attachment> attachments) { this.attachments = attachments; } public List<Message> getForwardedMessages() { return forwarded_messages; } public void setForwardedMessages(List<Message> forwardedMessages) { this.forwarded_messages = forwardedMessages; } public Submission getSubmission() { return submission; } public void setSubmission(Submission submission) { this.submission = submission; } public Date getMessageDate() { return APIHelpers.stringToDate(created_at); } public List<Long> getParticipatingUserIds() { return participating_user_ids; } public void setParticipatingUserIds(List<Long> participating_user_ids) { this.participating_user_ids = participating_user_ids; } /////////////////////////////////////////////////////////////////////////// // Required Overrides /////////////////////////////////////////////////////////////////////////// @Override public Date getComparisonDate() { return APIHelpers.stringToDate(created_at); } @Override public String getComparisonString() { return body; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeLong(this.id); dest.writeString(this.created_at); dest.writeString(this.body); dest.writeLong(this.author_id); dest.writeByte(generated ? (byte) 1 : (byte) 0); dest.writeList(this.attachments); dest.writeParcelable(this.media_comment, flags); dest.writeParcelable(this.submission, flags); dest.writeList(this.forwarded_messages); dest.writeList(this.participating_user_ids); } public Message() {} private Message(Parcel in) { this.id = in.readLong(); this.created_at = in.readString(); this.body = in.readString(); this.author_id = in.readLong(); this.generated = in.readByte() != 0; in.readList(this.attachments, Attachment.class.getClassLoader()); this.media_comment = in.readParcelable(MediaComment.class.getClassLoader()); this.submission = in.readParcelable(Submission.class.getClassLoader()); in.readList(this.forwarded_messages, Message.class.getClassLoader()); in.readList(this.participating_user_ids, Long.class.getClassLoader()); } public static Creator<Message> CREATOR = new Creator<Message>() { public Message createFromParcel(Parcel source) { return new Message(source); } public Message[] newArray(int size) { return new Message[size]; } }; }