01: /*
02: * Copyright 2006-2007 The Kuali Foundation.
03: *
04: * Licensed under the Educational Community License, Version 1.0 (the "License");
05: * you may not use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.opensource.org/licenses/ecl1.php
09: *
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.module.kra.budget.service;
17:
18: import java.util.Collection;
19:
20: import org.kuali.core.util.KualiDecimal;
21: import org.kuali.module.kra.budget.bo.Budget;
22: import org.kuali.module.kra.budget.bo.BudgetFringeRate;
23: import org.kuali.module.kra.budget.bo.BudgetUser;
24:
25: /**
26: * This interface defines methods that an Budget Fringe Rate Service must provide
27: */
28: public interface BudgetFringeRateService {
29: /**
30: * Returns active AppointmentTypes.
31: *
32: * @return active AppointmentType objects
33: */
34: public Collection getDefaultFringeRates();
35:
36: public boolean isValidFringeRate(KualiDecimal fringeRate);
37:
38: public boolean isValidCostShare(KualiDecimal costShare);
39:
40: public void setupDefaultFringeRates(Budget budget);
41:
42: public BudgetFringeRate getBudgetFringeRateForPerson(
43: BudgetUser budgetUser);
44:
45: public BudgetFringeRate getBudgetFringeRateForDefaultAppointmentType(
46: String documentNumber);
47:
48: public BudgetFringeRate getBudgetFringeRate(String documentNumber,
49: String institutionAppointmentTypeCode);
50:
51: }
|