package com.instructure.canvasapi.model; import android.content.Context; import android.os.Parcel; import com.instructure.canvasapi.utilities.APIHelpers; import com.instructure.canvasapi.utilities.DateHelpers; import java.io.Serializable; import java.util.ArrayList; import java.util.Date; import java.util.List; /** * Created by Brady Larson * * Copyright (c) 2014 Instructure. All rights reserved. */ public class SubmissionComment extends CanvasComparable<SubmissionComment> implements Serializable{ private static final long serialVersionUID = 1L; private long author_id; private String author_name; private String comment; private String created_at; private MediaComment media_comment; private List<Attachment> attachments = new ArrayList<Attachment>(); private Author author; /////////////////////////////////////////////////////////////////////////// // Getters and Setters /////////////////////////////////////////////////////////////////////////// public long getAuthorID() { return author_id; } public String getAuthorName() { return author_name; } public String getComment() { return comment; } public String getCreatedAt() { if(created_at == null) { return null; } return created_at; } public Date getCreatedAtDate(){ if(created_at == null) { return null; } return APIHelpers.stringToDate(created_at); } public MediaComment getMedia_comment() { return media_comment; } public List<Attachment> getAttachments(){ if(attachments == null) { return new ArrayList<Attachment>(); } return attachments; } public void setAuthorID(long authorID) { this.author_id = authorID; } public void setAuthorName(String authorName) { this.author_name = authorName; } public void setComment(String comment) { this.comment = comment; } public void setCreatedAt(String createdAt) { this.created_at = createdAt; } public void setMedia_comment(MediaComment media_comment) { this.media_comment = media_comment; } public Author getAuthor() { return author; } public void setAuthor(Author author) { this.author = author; } /////////////////////////////////////////////////////////////////////////// // Required Overrides /////////////////////////////////////////////////////////////////////////// @Override public Date getComparisonDate() { return getCreatedAtDate(); } @Override public String getComparisonString() { return getAuthorName(); } /////////////////////////////////////////////////////////////////////////// // Constructors /////////////////////////////////////////////////////////////////////////// public SubmissionComment() {} /////////////////////////////////////////////////////////////////////////// // Helpers /////////////////////////////////////////////////////////////////////////// public static String getFormattedDate(Context context, String date) { return DateHelpers.getDateTimeString(context, APIHelpers.stringToDate(date)); } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeLong(this.author_id); dest.writeString(this.author_name); dest.writeString(this.comment); dest.writeString(this.created_at); dest.writeParcelable(this.media_comment, flags); dest.writeList(this.attachments); dest.writeParcelable(this.author, flags); } private SubmissionComment(Parcel in) { this.author_id = in.readLong(); this.author_name = in.readString(); this.comment = in.readString(); this.created_at = in.readString(); this.media_comment = in.readParcelable(MediaComment.class.getClassLoader()); in.readList(this.attachments, Attachment.class.getClassLoader()); this.author = in.readParcelable(Author.class.getClassLoader()); } public static Creator<SubmissionComment> CREATOR = new Creator<SubmissionComment>() { public SubmissionComment createFromParcel(Parcel source) { return new SubmissionComment(source); } public SubmissionComment[] newArray(int size) { return new SubmissionComment[size]; } }; }