package com.instructure.canvasapi.model;
import android.os.Parcel;
import android.os.Parcelable;
import com.google.gson.annotations.SerializedName;
import java.io.Serializable;
import java.util.Date;
/**
* Copyright (c) 2015 Instructure. All rights reserved.
*/
public class QuizSubmissionQuestion extends CanvasModel<QuizSubmissionQuestion> {
//The ID of the QuizQuestion this answer is for.
private long id;
//Whether this question is flagged.
private boolean flagged;
//The possible answers for this question when those possible answers are
//necessary. The presence of this parameter is dependent on permissions.
private QuizSubmissionAnswer[] answers;
private int position;
//The ID of the quiz
@SerializedName("quiz_id")
private long quizId;
//Name of the question
@SerializedName("question_name")
private String questionName;
//Type of the question. See QuizQuestion for QUESTION_TYPE
@SerializedName("question_type")
private String questionType;
//Text of the question
@SerializedName("question_text")
private String questionText;
//sometimes is a String, sometimes an array depending on the question type
private Object answer;
private QuizSubmissionMatch[] matches;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public boolean isFlagged() {
return flagged;
}
public void setFlagged(boolean flagged) {
this.flagged = flagged;
}
public QuizSubmissionAnswer[] getAnswers() {
return answers;
}
public void setAnswers(QuizSubmissionAnswer[] answers) {
this.answers = answers;
}
public int getPosition() {
return position;
}
public void setPosition(int position) {
this.position = position;
}
public long getQuizId() {
return quizId;
}
public void setQuizId(long quizId) {
this.quizId = quizId;
}
public String getQuestionName() {
return questionName;
}
public void setQuestionName(String questionName) {
this.questionName = questionName;
}
public QuizQuestion.QUESTION_TYPE getQuestionType() {
return QuizQuestion.parseQuestionType(questionType);
}
public void setQuestionType(String questionType) {
this.questionType = questionType;
}
public String getQuestionText() {
return questionText;
}
public void setQuestionText(String questionText) {
this.questionText = questionText;
}
public Object getAnswer() {
return answer;
}
public void setAnswer(Object answer) {
this.answer = answer;
}
public QuizSubmissionMatch[] getMatches() {
return matches;
}
public void setMatches(QuizSubmissionMatch[] matches) {
this.matches = matches;
}
@Override
public Date getComparisonDate() {
return null;
}
@Override
public String getComparisonString() {
return null;
}
@Override
public int compareTo(QuizSubmissionQuestion quizSubmissionQuestion) {
return 0;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeLong(this.id);
dest.writeByte(flagged ? (byte) 1 : (byte) 0);
dest.writeParcelableArray(this.answers, flags);
dest.writeInt(this.position);
dest.writeLong(this.quizId);
dest.writeString(this.questionName);
dest.writeString(this.questionType);
dest.writeString(this.questionText);
dest.writeSerializable((Serializable) this.answer);
dest.writeParcelableArray(this.matches, flags);
}
public QuizSubmissionQuestion() {
}
private QuizSubmissionQuestion(Parcel in) {
this.id = in.readLong();
this.flagged = in.readByte() != 0;
this.answers = (QuizSubmissionAnswer[])in.readParcelableArray(QuizSubmissionAnswer.class.getClassLoader());
this.position = in.readInt();
this.quizId = in.readLong();
this.questionName = in.readString();
this.questionType = in.readString();
this.questionText = in.readString();
this.answer = in.readSerializable();
this.matches = (QuizSubmissionMatch[])in.readParcelableArray(QuizSubmissionMatch.class.getClassLoader());
}
public static final Parcelable.Creator<QuizSubmissionQuestion> CREATOR = new Parcelable.Creator<QuizSubmissionQuestion>() {
public QuizSubmissionQuestion createFromParcel(Parcel source) {
return new QuizSubmissionQuestion(source);
}
public QuizSubmissionQuestion[] newArray(int size) {
return new QuizSubmissionQuestion[size];
}
};
}