package com.instructure.canvasapi.model; import android.os.Parcel; import android.os.Parcelable; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; /** * @author Brady Larson * * Copyright (c) 2014 Instructure. All rights reserved. */ public class PollSession extends CanvasComparable<PollSession> implements Parcelable { private long id; private long poll_id; private long course_id; private long course_section_id; private boolean is_published; private boolean has_public_results; private Map<Long, Integer> results; private Date created_at; private List<PollSubmission> poll_submissions; private boolean has_submitted; /////////////////////////////////////////////////////////////////////////// // Getters and Setters /////////////////////////////////////////////////////////////////////////// public long getId() { return id; } public void setId(long id) { this.id = id; } public long getPoll_id() { return poll_id; } public void setPoll_id(long poll_id) { this.poll_id = poll_id; } public long getCourse_id() { return course_id; } public void setCourse_id(long course_id) { this.course_id = course_id; } public long getCourse_section_id() { return course_section_id; } public void setCourse_section_id(long course_section_id) { this.course_section_id = course_section_id; } public boolean is_published() { return is_published; } public void setIs_published(boolean is_published) { this.is_published = is_published; } public boolean has_public_results() { return has_public_results; } public void setHas_public_results(boolean has_public_results) { this.has_public_results = has_public_results; } public Map<Long, Integer> getResults() { return results; } public void setResults(Map<Long, Integer> results) { this.results = results; } public Date getCreated_at() { return created_at; } public void setCreated_at(Date created_at) { this.created_at = created_at; } public List<PollSubmission> getPoll_submissions() { return poll_submissions; } public void setPoll_submissions(ArrayList<PollSubmission> poll_submissions) { this.poll_submissions = poll_submissions; } public boolean isHas_submitted() { return has_submitted; } public void setHas_submitted(boolean has_submitted) { this.has_submitted = has_submitted; } /////////////////////////////////////////////////////////////////////////// // Required Overrides /////////////////////////////////////////////////////////////////////////// public Date getComparisonDate() { return created_at; } public String getComparisonString() { return null; } @Override public int compareTo(PollSession pollSession) { return CanvasComparable.compare(pollSession.getId(),this.getId()); } /////////////////////////////////////////////////////////////////////////// // Parcelable /////////////////////////////////////////////////////////////////////////// @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeLong(this.id); dest.writeLong(this.poll_id); dest.writeLong(this.course_id); dest.writeLong(this.course_section_id); dest.writeByte(is_published ? (byte) 1 : (byte) 0); dest.writeByte(has_public_results ? (byte) 1 : (byte) 0); dest.writeMap(this.results); dest.writeLong(created_at != null ? created_at.getTime() : -1); dest.writeList(this.poll_submissions); } public PollSession() { } private PollSession(Parcel in) { this.id = in.readLong(); this.poll_id = in.readLong(); this.course_id = in.readLong(); this.course_section_id = in.readLong(); this.is_published = in.readByte() != 0; this.has_public_results = in.readByte() != 0; this.results = in.readHashMap(Map.class.getClassLoader()); long tmpCreated_at = in.readLong(); this.created_at = tmpCreated_at == -1 ? null : new Date(tmpCreated_at); this.poll_submissions = new ArrayList<PollSubmission>(); in.readList(this.poll_submissions, PollSubmission.class.getClassLoader()); } public static Creator<PollSession> CREATOR = new Creator<PollSession>() { public PollSession createFromParcel(Parcel source) { return new PollSession(source); } public PollSession[] newArray(int size) { return new PollSession[size]; } }; }