package com.instructure.canvasapi.model; import android.os.Parcel; import java.io.Serializable; import java.util.Date; /** * Copyright (c) 2016 Instructure. All rights reserved. */ public class ModuleItem extends CanvasModel<ModuleItem> { /** * { // the unique identifier for the module item id: 768, // the position of this item in the module (1-based) position: 1, // the title of this item title: "Square Roots: Irrational numbers or boxy vegetables?", // 0-based indent level; module items may be indented to show a hierarchy indent: 0, // the type of object referred to // one of "File", "Page", "Discussion", "Assignment", "Quiz", "SubHeader", // "ExternalUrl", "ExternalTool" type: "Assignment", // link to the item in Canvas html_url: "https://canvas.example.edu/courses/222/modules/items/768", // (Optional) link to the Canvas API object, if applicable url: "https://canvas.example.edu/api/v1/courses/222/assignments/987", // Completion requirement for this module item completion_requirement: { // one of "must_view", "must_submit", "must_contribute", "min_score", "must_mark_done" type: "min_score", // minimum score required to complete (only present when type == 'min_score') min_score: 10, // whether the calling user has met this requirement // (Optional; present only if the caller is a student) completed: true } } */ public static final String MUST_VIEW = "must_view"; public static final String MUST_SUBMIT = "must_submit"; public static final String MUST_CONTRIBUTE = "must_contribute"; public static final String MIN_SCORE = "min_score"; public static final String MUST_MARK_DONE = "must_mark_done"; private long id; private long module_id; private int position; private String title; private int indent; private String type; private String html_url; private String url; private CompletionRequirement completion_requirement; private ModuleContentDetails content_details; public class CompletionRequirement implements Serializable { private static final long serialVersionUID = 1L; private String type; private double min_score; private boolean completed; public double getMin_score() { return min_score; } public void setMin_score(double min_score) { this.min_score = min_score; } public boolean isCompleted() { return completed; } public void setCompleted(boolean completed) { this.completed = completed; } public String getType() { return type; } public void setType(String type) { this.type = type; } } @Override public long getId() { return id; } public void setId(long id) { this.id = id; } public long getModuleId() { return module_id; } public int getPosition() { return position; } public void setPosition(int position) { this.position = position; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public int getIndent() { return indent; } public void setIndent(int indent) { this.indent = indent; } public String getType() { return type; } public void setType(String type) { this.type = type; } public String getHtml_url() { return html_url; } public void setHtml_url(String html_url) { this.html_url = html_url; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public CompletionRequirement getCompletionRequirement() { return completion_requirement; } public void setCompletionRequirement(CompletionRequirement completionRequirement) { this.completion_requirement = completionRequirement; } public ModuleContentDetails getModuleDetails() { return content_details; } public enum TYPE {Assignment, Discussion, File, Page, SubHeader, Quiz, ExternalUrl, ExternalTool} public ModuleItem() {} /////////////////////////////////////////////////////////////////////////// // Required Overrides /////////////////////////////////////////////////////////////////////////// @Override public Date getComparisonDate() { return null; } @Override public String getComparisonString() { return title; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeLong(this.id); dest.writeLong(this.module_id); dest.writeInt(this.position); dest.writeString(this.title); dest.writeInt(this.indent); dest.writeString(this.type); dest.writeString(this.html_url); dest.writeString(this.url); dest.writeSerializable(this.completion_requirement); } private ModuleItem(Parcel in) { this.id = in.readLong(); this.module_id = in.readLong(); this.position = in.readInt(); this.title = in.readString(); this.indent = in.readInt(); this.type = in.readString(); this.html_url = in.readString(); this.url = in.readString(); this.completion_requirement = (CompletionRequirement) in.readSerializable(); } public static Creator<ModuleItem> CREATOR = new Creator<ModuleItem>() { public ModuleItem createFromParcel(Parcel source) { return new ModuleItem(source); } public ModuleItem[] newArray(int size) { return new ModuleItem[size]; } }; }