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 HasId extends HasPrimaryKey { 22 23 /** 24 * The system assigned unique id to identify this Object. 25 * Could be implemented as as sequence number or as a UUID. 26 * 27 * Attempts to set this value on creates should result in a ReadOnlyException being thrown 28 * 29 * An Id:<ul> 30 * <li>An id is used when the actual value is unimportant and can therefore be a large hex value for example 31 * <li>An id value might be 23b9ca9bd203df902 32 * <li>An Id is never intended to be used directly by an end user. 33 * <li>Ids are assumed to be of different values in different KS implementations 34 * <li>Id values are generated by the service implementations 35 * <li>Id values are never expected to be used in Configuration or Application code 36 * </ul> 37 * @name Unique Id 38 * @readOnly 39 * @required on update 40 */ 41 public String getId(); 42 }