1 /*
2 * Copyright 2007 The Kuali Foundation
3 *
4 * Licensed under the Educational Community License, Version 1.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.opensource.org/licenses/ecl1.php
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 package org.kuali.student.r2.lum.lrc.infc;
17
18 import org.kuali.student.r2.common.infc.KeyEntity;
19 import org.kuali.student.r2.common.infc.HasEffectiveDates;
20 import java.util.List;
21
22 /**
23 * A ResultValuesGroup is used to relate a ResultScale to a learning
24 * unit or grading entry. A ResultValuesGroup may be identical to a
25 * ResultScale, or it may further contrict the valid values and
26 * ranges defined in the ResultScale.
27 *
28 * The purpose of the ResultValuesGroup is to permit a subset of
29 * ResultValues and ranges to be applied without having to generate
30 * new ResultScales.
31 */
32
33 public interface ResultValuesGroup extends KeyEntity, HasEffectiveDates {
34
35 /**
36 * The scale to which this group belongs. Result Values mapped to
37 * a Result Values Group belong to a single Result Scale.
38 *
39 * @name Result Scale Key
40 */
41 public String getResultScaleKey();
42
43 /**
44 * Contains the list of discrete results value keys in this group.
45 * @name Result Value Keys
46 */
47 public List<String> getResultValueKeys();
48
49 /**
50 * The range contained within this result value group. This is
51 * optional and might not be present for some Result Components
52 *
53 * @name Result Value Range
54 */
55 public ResultValueRange getResultValueRange();
56 }