001/** 002 * Copyright 2005-2018 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package org.kuali.rice.kim.api.type; 017 018import org.kuali.rice.core.api.mo.common.GloballyUnique; 019import org.kuali.rice.core.api.mo.common.Identifiable; 020import org.kuali.rice.core.api.mo.common.Versioned; 021import org.kuali.rice.core.api.mo.common.active.Inactivatable; 022import org.kuali.rice.kim.api.common.attribute.KimAttributeContract; 023 024/** 025 * This is the contract for a KimTypeAttribute. A KimTypeAttribute 026 * associates a kim type with a kim attribute. 027 */ 028public interface KimTypeAttributeContract extends Versioned, GloballyUnique, Identifiable, Inactivatable { 029 030 /** 031 * The alpha and/or numeric code used to choose an order for displaying KimTypeAttributes. This can be null or blank. 032 * 033 * @return the sort code. 034 */ 035 String getSortCode(); 036 037 /** 038 * The kim attribute associated with the kim type attribute. This can be null if no KimAttributes are associated. 039 * 040 * @return the kim attribute 041 */ 042 KimAttributeContract getKimAttribute(); 043 044 /** 045 * The kim type id associated with the kim type attribute. This can be null if no KimType is associated. 046 * 047 * @return the kim type id 048 */ 049 String getKimTypeId(); 050}