1 /* 2 * Copyright 2009 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.ole.coa.service; 17 18 import org.kuali.ole.coa.businessobject.OrganizationReversion; 19 import org.kuali.ole.coa.businessobject.OrganizationReversionCategory; 20 21 /** 22 * Services needed to inactivate organization reversion details when one of their respective parents - 23 * either the organization reversion or the category that they relate to - are inactivated 24 */ 25 public interface OrganizationReversionDetailTrickleDownInactivationService { 26 /** 27 * Inactivates organization reversion details whose containing organization reversion is being inactivated, 28 * and writes notes on the Organization Reversion maintenance document about it 29 * @param organizationReversion the deactivating organization reversion 30 * @param documentNumber the document id of the organization reversion document causing an inactivation 31 */ 32 public abstract void trickleDownInactiveOrganizationReversionDetails(OrganizationReversion organizationReversion, String documentNumber); 33 34 /** 35 * Inactivates (or "boxes") organization reversion details whose related organization reversion category is being inactivated, 36 * and writes notes on the Organization Reversion Category maintenance document about it 37 * @param organizationReversionCategory the deactivating organization reversion category 38 * @param documentNumber the document id of the organization reversion category document causing an inactivation 39 */ 40 public abstract void trickleDownInactiveOrganizationReversionDetails(OrganizationReversionCategory organizationReversionCategory, String documentNumber); 41 42 /** 43 * Activates organization reversion details whose containing organization reversion is being inactivated, 44 * and writes notes on the Organization Reversion maintenance document about it 45 * @param organizationReversion the deactivating organization reversion 46 * @param documentNumber the document id of the organization reversion document causing an inactivation 47 */ 48 public abstract void trickleDownActiveOrganizationReversionDetails(OrganizationReversion organizationReversion, String documentNumber); 49 50 /** 51 * Activates (or "boxes") organization reversion details whose related organization reversion category is being inactivated, 52 * and writes notes on the Organization Reversion Category maintenance document about it 53 * @param organizationReversionCategory the deactivating organization reversion category 54 * @param documentNumber the document id of the organization reversion category document causing an inactivation 55 */ 56 public abstract void trickleDownActiveOrganizationReversionDetails(OrganizationReversionCategory organizationReversionCategory, String documentNumber); 57 }