View Javadoc

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  }