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