View Javadoc

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  }