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.location.framework.state; 017 018import org.kuali.rice.core.api.mo.common.active.MutableInactivatable; 019import org.kuali.rice.krad.bo.ExternalizableBusinessObject; 020import org.kuali.rice.location.api.state.StateContract; 021 022/** 023 * TODO: Likely should remove all methods from this interface after KULRICE-7170 is fixed 024 */ 025public interface StateEbo extends StateContract, ExternalizableBusinessObject, MutableInactivatable { 026 027 /** 028 * The code value for this object. In general a code value cannot be null or a blank string. 029 * 030 * @return the code value for this object. 031 */ 032 String getCode(); 033 034 /** 035 * This the postal name for the State. This cannot be null or a blank string. 036 * 037 * @return postal name 038 */ 039 String getName(); 040 041 /** 042 * This the postal country code for the State. This cannot be null or a blank string. 043 * 044 * @return postal country code 045 */ 046 String getCountryCode(); 047 048 /** 049 * The active indicator for an object. 050 * 051 * @return true if active false if not. 052 */ 053 boolean isActive(); 054 055 /** 056 * Sets the record to active or inactive. 057 */ 058 void setActive(boolean active); 059 060 /** 061 * Returns the version number for this object. In general, this value should only 062 * be null if the object has not yet been stored to a persistent data store. 063 * This version number is generally used for the purposes of optimistic locking. 064 * 065 * @return the version number, or null if one has not been assigned yet 066 */ 067 Long getVersionNumber(); 068}