001: /**********************************************************************************
002: * $URL: https://source.sakaiproject.org/svn/assignment/tags/sakai_2-4-1/assignment-api/api/src/java/org/sakaiproject/assignment/api/AssignmentContentEdit.java $
003: * $Id: AssignmentContentEdit.java 8331 2006-04-26 14:32:54Z ggolden@umich.edu $
004: ***********************************************************************************
005: *
006: * Copyright (c) 2003, 2004, 2005, 2006 The Sakai Foundation.
007: *
008: * Licensed under the Educational Community License, Version 1.0 (the "License");
009: * you may not use this file except in compliance with the License.
010: * You may obtain a copy of the License at
011: *
012: * http://www.opensource.org/licenses/ecl1.php
013: *
014: * Unless required by applicable law or agreed to in writing, software
015: * distributed under the License is distributed on an "AS IS" BASIS,
016: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
017: * See the License for the specific language governing permissions and
018: * limitations under the License.
019: *
020: **********************************************************************************/package org.sakaiproject.assignment.api;
021:
022: import org.sakaiproject.entity.api.AttachmentContainerEdit;
023: import org.sakaiproject.entity.api.Edit;
024: import org.sakaiproject.time.api.Time;
025: import org.sakaiproject.user.api.User;
026:
027: /**
028: * <p>
029: * AssignmentContentEdit is the an interface for the Sakai assignments module. It represents the editable part of the assignment content that is "unchanging" for different versions of the assignment.
030: * </p>
031: */
032: public interface AssignmentContentEdit extends AssignmentContent,
033: AttachmentContainerEdit, Edit {
034: /**
035: * Set the title.
036: *
037: * @param title -
038: * The Assignment's title.
039: */
040: public void setTitle(String title);
041:
042: /**
043: * Set the instructions for the Assignment.
044: *
045: * @param instructions -
046: * The Assignment's instructions.
047: */
048: public void setInstructions(String instructions);
049:
050: /**
051: * Set the AssignmentContent's context at the time of creation.
052: *
053: * @param context -
054: * The context string.
055: */
056: public void setContext(String context);
057:
058: /**
059: * Set the type of submission.
060: *
061: * @param subType -
062: * The type of submission.
063: */
064: public void setTypeOfSubmission(int subType);
065:
066: /**
067: * Set the grade type.
068: *
069: * @param gradeType -
070: * The type of grade.
071: */
072: public void setTypeOfGrade(int gradeType);
073:
074: /**
075: * Set the maximum grade for grade type = SCORE_GRADE_TYPE(3)
076: *
077: * @param maxPoints -
078: * The maximum grade score.
079: */
080: public void setMaxGradePoint(int maxPoints);
081:
082: /**
083: * Set whether this project can be a group project.
084: *
085: * @param groupProject -
086: * True if this can be a group project, false otherwise.
087: */
088: public void setGroupProject(boolean groupProject);
089:
090: /**
091: * Set whether group projects should be individually graded.
092: *
093: * @param individGraded -
094: * true if projects are individually graded, false if grades are given to the group.
095: */
096: public void setIndividuallyGraded(boolean individGraded);
097:
098: /**
099: * Sets whether grades can be released once submissions are graded.
100: *
101: * @param release -
102: * true if grades can be released once submission are graded, false if they must be released manually.
103: */
104: public void setReleaseGrades(boolean release);
105:
106: /**
107: * Set the Honor Pledge type; values are NONE and ENGINEERING_HONOR_PLEDGE.
108: *
109: * @param pledgeType -
110: * the Honor Pledge value.
111: */
112: public void setHonorPledge(int pledgeType);
113:
114: /**
115: * Does this Assignment allow attachments?
116: *
117: * @param allow -
118: * true if the Assignment allows attachments, false otherwise?
119: */
120: public void setAllowAttachments(boolean allow);
121:
122: /**
123: * Add an author to the author list.
124: *
125: * @param author -
126: * The User to add to the author list.
127: */
128: public void addAuthor(User author);
129:
130: /**
131: * Remove an author from the author list.
132: *
133: * @param author -
134: * the User to remove from the author list.
135: */
136: public void removeAuthor(User author);
137:
138: /**
139: * Set the time last modified.
140: *
141: * @param lastmod -
142: * The Time at which the Content was last modified.
143: */
144: public void setTimeLastModified(Time lastmod);
145: }
|