View Javadoc
1   /**
2    * Copyright 2004-2014 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 2.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/ecl2.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.contract.model.test.source;
17  
18  /**
19   *
20   * @author nwright
21   */
22  public interface HasKey extends HasPrimaryKey {
23  
24      /**
25       * Unique key to this object. Unlike an Id this key can be explicitly set by the
26       * application and is intended to be "somewhat" readable by a human.
27       *
28       * A Key:<ul>
29       * <li>A Key is used when the actual value is important
30       * <li>A Key value might be kuali.org.School
31       * <li>A Key on occasion may be used or seen by an end user.
32       * <li>Keys are assumed to have the same values in different KS implementations
33       * <li>Key values are defined in configuration
34       * <li>Key values have significance in that they are referenced in Configuration
35       * <li>Key values are expected to be occasionally used in application code
36       * </ul>
37       * @name Unique Key
38       * @readOnly after create
39       * @required
40       */
41      public String getKey();
42  }