01: /**********************************************************************************
02: *
03: * $Id: GradebookFrameworkService.java 20648 2007-01-24 21:29:41Z ray@media.berkeley.edu $
04: *
05: ***********************************************************************************
06: *
07: * Copyright (c) 2007 The Regents of the University of California
08: *
09: * Licensed under the Educational Community License, Version 1.0 (the "License");
10: * you may not use this file except in compliance with the License.
11: * You may obtain a copy of the License at
12: *
13: * http://www.opensource.org/licenses/ecl1.php
14: *
15: * Unless required by applicable law or agreed to in writing, software
16: * distributed under the License is distributed on an "AS IS" BASIS,
17: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18: * See the License for the specific language governing permissions and
19: * limitations under the License.
20: *
21: **********************************************************************************/package org.sakaiproject.service.gradebook.shared;
22:
23: import java.util.Collection;
24:
25: /**
26: * This service is meant to be used by the framework which manages the Gradebook
27: * application. The service provides various administrative functions which
28: * aren't handled by the application itself, including creating and removing
29: * gradebooks, and managing system-wide grading schemes.
30: *
31: * Because these aren't operations taken by the application, responsibility
32: * for security is left completely up to the client. THERE ARE NO AUTHORIZATION
33: * CHECKS.
34: *
35: * In other words, DO NOT provide open web service access to this service's methods!
36: */
37: public interface GradebookFrameworkService {
38: /**
39: * Creates a new gradebook with the given UID and name
40: *
41: * @param uid
42: * The UID used to specify a gradebook and its associated data.
43: * It is the caller's responsibility to ensure that this is
44: * unique within gradebook storage.
45: *
46: * @param name
47: * The name of the gradebook, to be used for logging and other
48: * conveniences by the application. This should be the name of
49: * the site or the course. It is only used for convenience, and
50: * does not need to be unique.
51: */
52: public void addGradebook(String uid, String name);
53:
54: /**
55: * Deletes the gradebook with the given UID, along with all its associated
56: * data.
57: */
58: public void deleteGradebook(String uid)
59: throws GradebookNotFoundException;
60:
61: /**
62: * Checks to see whether a gradebook with the given uid exists.
63: *
64: * @param gradebookUid
65: * The gradebook UID to check
66: * @return Whether the gradebook exists
67: */
68: public boolean isGradebookDefined(String gradebookUid);
69:
70: /**
71: * @param gradingScaleDefinitions
72: * A collection of GradingScaleDefinition beans.
73: */
74: public void setAvailableGradingScales(
75: Collection gradingScaleDefinitions);
76:
77: /**
78: * @param uid
79: * The UID of the grading scale to use as the default for new gradebooks.
80: */
81: public void setDefaultGradingScale(String uid);
82:
83: }
|