Package edu.odu.cs.zeil.codegrader
Class Assignment
- java.lang.Object
- 
- edu.odu.cs.zeil.codegrader.Assignment
 
- 
- All Implemented Interfaces:
- java.lang.Cloneable
 
 public class Assignment extends java.lang.Object implements java.lang.CloneableAn Assignment indicates the various files and directories that will be employed during grading.
- 
- 
Constructor SummaryConstructors Constructor Description Assignment()Create an empty assignment.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description Assignmentclone()Copy an assignment.java.nio.file.PathgetGoldDirectory()The gold directory is the location of an instructor's solution to the assignment.java.nio.file.PathgetGoldStage()Get the staging directory for the gold version.booleangetHasInstructorCode()booleangetInPlace()Should this assignment be graded "in place", rather than using a separate stage and recording area?java.nio.file.PathgetInstructorCodeDirectory()The instructor code directory is the location of an instructor's code intended to be included along with the student-supplied code as part of the total build.java.nio.file.PathgetManual()Instructors can assign manually assign grades to be included in the report.java.nio.file.PathgetRecordingDirectory()The recording directory is the location where the student code will be compiled and tested.java.lang.StringgetSelectedStudent()java.nio.file.PathgetStagingDirectory()The staging directory is the location where the student code will be compiled and tested.java.nio.file.PathgetSubmissionsDirectory()The submissions directory is the location of the collected submissions from an entire class.java.nio.file.PathgetSubmitterStage(Submission submission)Get the staging directory for the submitted version.java.nio.file.PathgetTestSuiteDirectory()The test suite directory is the location of the test suite that will be used to evaluate the submissions.AssignmentsetGoldDirectory(java.nio.file.Path path)Set the path to the gold directory.AssignmentsetHasInstructorCode(boolean hasCode)Indicate whether instructor is supplying source code.voidsetInPlace(boolean gradeInPlace)Mark this assignment as being graded "in place", rather than using a separate stage and recording area.AssignmentsetInstructorCodeDirectory(java.nio.file.Path path)Set the path to the instructor code directory.AssignmentsetManual(java.nio.file.Path path)Set the path to the manually assigned grades.AssignmentsetRecordingDirectory(java.nio.file.Path path)Set the path to the recording directory.voidsetSelectedStudent(java.lang.String selected)AssignmentsetStagingDirectory(java.nio.file.Path path)Set the path to the staging directory.AssignmentsetSubmissionsDirectory(java.nio.file.Path path)Set the path to the submissions directory.AssignmentsetTestSuiteDirectory(java.nio.file.Path path)Set the path to the test suite directory.
 
- 
- 
- 
Method Detail- 
getInstructorCodeDirectorypublic java.nio.file.Path getInstructorCodeDirectory() The instructor code directory is the location of an instructor's code intended to be included along with the student-supplied code as part of the total build. When a gold version (instructor's solution) is available, the instructor code directory will usually be the instructor code directory as well.- Returns:
- the path to the directory containing instructor-supplied code or null if no instructor's code is supplied.
 
 - 
getHasInstructorCodepublic boolean getHasInstructorCode() - Returns:
- true if there is instructor code to be copied along with the code from the submitter.
 
 - 
setHasInstructorCodepublic Assignment setHasInstructorCode(boolean hasCode) Indicate whether instructor is supplying source code.- Parameters:
- hasCode- true if there is instructor code to be copied along with the code from the submitter.
- Returns:
- the assignment
 
 - 
setInstructorCodeDirectorypublic Assignment setInstructorCodeDirectory(java.nio.file.Path path) Set the path to the instructor code directory.- Parameters:
- path- the path to use
- Returns:
- the modified assignment
 
 - 
getGoldDirectorypublic java.nio.file.Path getGoldDirectory() The gold directory is the location of an instructor's solution to the assignment. If available (non-null), the instructor's solution is run prior to each test of the student's submission in order to collect expected output and timing data.- Returns:
- the path to the gold directory or null if no instructor's solution is being used.
 
 - 
setGoldDirectorypublic Assignment setGoldDirectory(java.nio.file.Path path) Set the path to the gold directory.- Parameters:
- path- the path to use
- Returns:
- the modified assignment
 
 - 
getSubmissionsDirectorypublic java.nio.file.Path getSubmissionsDirectory() The submissions directory is the location of the collected submissions from an entire class. Each subdirectory of this one represents one submission and should be named with the identifier of the student who submitted it.- Returns:
- the path to the submissions directory.
 
 - 
setSubmissionsDirectorypublic Assignment setSubmissionsDirectory(java.nio.file.Path path) Set the path to the submissions directory.- Parameters:
- path- the path to use
- Returns:
- the modified assignment
 
 - 
getTestSuiteDirectorypublic java.nio.file.Path getTestSuiteDirectory() The test suite directory is the location of the test suite that will be used to evaluate the submissions. Each subdirectory of this one represents one test case and should be named with the identifier of the test case.- Returns:
- the path to the test suite directory.
 
 - 
setTestSuiteDirectorypublic Assignment setTestSuiteDirectory(java.nio.file.Path path) Set the path to the test suite directory.- Parameters:
- path- the path to use
- Returns:
- the modified assignment
 
 - 
getStagingDirectorypublic java.nio.file.Path getStagingDirectory() The staging directory is the location where the student code will be compiled and tested.- Returns:
- the path to the staging directory.
 
 - 
setStagingDirectorypublic Assignment setStagingDirectory(java.nio.file.Path path) Set the path to the staging directory.- Parameters:
- path- the path to use
- Returns:
- the modified assignment
 
 - 
getRecordingDirectorypublic java.nio.file.Path getRecordingDirectory() The recording directory is the location where the student code will be compiled and tested.- Returns:
- the path to the recording directory.
 
 - 
setRecordingDirectorypublic Assignment setRecordingDirectory(java.nio.file.Path path) Set the path to the recording directory.- Parameters:
- path- the path to use
- Returns:
- the modified assignment
 
 - 
getManualpublic java.nio.file.Path getManual() Instructors can assign manually assign grades to be included in the report. These appear in ...TBD- Returns:
- the path to the manually assigned grades.
 
 - 
setManualpublic Assignment setManual(java.nio.file.Path path) Set the path to the manually assigned grades.- Parameters:
- path- the path to use
- Returns:
- the modified assignment
 
 - 
clonepublic Assignment clone() Copy an assignment.- Overrides:
- clonein class- java.lang.Object
 
 - 
getSubmitterStagepublic java.nio.file.Path getSubmitterStage(Submission submission) Get the staging directory for the submitted version.- Parameters:
- submission- Identifies the submitter
- Returns:
- a subdirectory within the staging area.
 
 - 
getGoldStagepublic java.nio.file.Path getGoldStage() Get the staging directory for the gold version.- Returns:
- a subdirectory within the staging area or null if no gold version is supplied.
 
 - 
setInPlacepublic void setInPlace(boolean gradeInPlace) Mark this assignment as being graded "in place", rather than using a separate stage and recording area. Student code will be compiled and run in the submission directory and grade info will be recorded in the test suite directory.- Parameters:
- gradeInPlace- true if this should be graded in place. False (default) if the original submission directory and test suite directory should left unchanged.
 
 - 
getInPlacepublic boolean getInPlace() Should this assignment be graded "in place", rather than using a separate stage and recording area?- Returns:
- true iff in-place grading is desired
 
 - 
getSelectedStudentpublic java.lang.String getSelectedStudent() 
 - 
setSelectedStudentpublic void setSelectedStudent(java.lang.String selected) 
 
- 
 
-