All Downloads are FREE. Search and download functionalities are using the official Maven repository.

edu.ksu.canvas.interfaces.SubmissionReader Maven / Gradle / Ivy

package edu.ksu.canvas.interfaces;

import java.io.IOException;
import java.util.List;
import java.util.Optional;

import edu.ksu.canvas.model.assignment.Submission;
import edu.ksu.canvas.requestOptions.GetMultipleSubmissionsOptions;
import edu.ksu.canvas.requestOptions.GetSubmissionsOptions;

public interface SubmissionReader  extends CanvasReader {
    /**
     * Retrieve a list of assignment submissions from a course
     *
     * @param options Options class containing required and optional parameters for this API call
     * @return List of assignment submissions in the course with the course ID
     * @throws IOException When there is an error communicating with Canvas
     */
    List getCourseSubmissions(GetSubmissionsOptions options) throws IOException;

    /**
     * Retrieve a list of assignment submissions from a section
     *
     * @param options Options class containing required and optional parameters for this API call
     * @return List of assignment submissions in the section with the section ID
     * @throws IOException When there is an error communicating with Canvas
     */
    List getSectionSubmissions(GetSubmissionsOptions options) throws IOException;
    
    /**
     * Retrieve a list of multiple assignment submissions from a course
     *
     * @param options Options class containing required and optional parameters for this API call
     * @return List of assignment submissions in the course with the course ID
     * @throws IOException When there is an error communicating with Canvas
     */
    List getCourseSubmissionMultipleAssignments(GetMultipleSubmissionsOptions options) throws IOException;

    /**
     * Retrieve a single assignment submission from a course
     * @param options Options class containing required and optional parameters for this API call
     * @return The requested Submission object given the course, assignment and user
     * @throws IOException When there is an error communicating with Canvas
     */
    Optional getSingleCourseSubmission(GetSubmissionsOptions options) throws IOException;

    /**
     * Retrieve a single assignment submission from a section
     * @param options Options class containing required and optional parameters for this API call
     * @return The requested Submission object given the section, assignment and user
     * @throws IOException When there is an error communicating with Canvas
     */
    Optional getSingleSectionSubmission(GetSubmissionsOptions options) throws IOException;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy