1 /** 2 * Copyright 2010 The Kuali Foundation Licensed under the 3 * Educational Community License, Version 2.0 (the "License"); you may 4 * not use this file except in compliance with the License. You may 5 * obtain a copy of the License at 6 * 7 * http://www.osedu.org/licenses/ECL-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, 10 * software distributed under the License is distributed on an "AS IS" 11 * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 12 * or implied. See the License for the specific language governing 13 * permissions and limitations under the License. 14 */ 15 package org.kuali.student.contract.model.test.source; 16 17 /** 18 * 19 * @author nwright 20 */ 21 public interface HasKey extends HasPrimaryKey { 22 23 /** 24 * Unique key to this object. Unlike an Id this key can be explicitly set by the 25 * application and is intended to be "somewhat" readable by a human. 26 * 27 * A Key:<ul> 28 * <li>A Key is used when the actual value is important 29 * <li>A Key value might be kuali.org.School 30 * <li>A Key on occasion may be used or seen by an end user. 31 * <li>Keys are assumed to have the same values in different KS implementations 32 * <li>Key values are defined in configuration 33 * <li>Key values have significance in that they are referenced in Configuration 34 * <li>Key values are expected to be occasionally used in application code 35 * </ul> 36 * @name Unique Key 37 * @readOnly after create 38 * @required 39 */ 40 public String getKey(); 41 }