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.chart.service;
17:
18: import org.kuali.module.chart.bo.SubFundGroup;
19:
20: /**
21: * This service interface defines methods necessary for retrieving fully populated SubFundGroup business objects from the
22: * database that are necessary for transaction processing in the application.
23: */
24: public interface SubFundGroupService {
25:
26: /**
27: * Retrieves a SubFundGroupCode by it's primary key - the sub fund group code.
28: *
29: * @param subFundGroupCode
30: * @return the sub fund group specfied by its code
31: */
32: public SubFundGroup getByPrimaryId(String subFundGroupCode);
33:
34: /**
35: * Retrieves the SubFundGroupCode for the Account with the given chart and account codes.
36: *
37: * @param chartCode
38: * @param accountNumber
39: * @return the sub fund group specified by a chart and and account number
40: */
41: public SubFundGroup getByChartAndAccount(String chartCode,
42: String accountNumber);
43:
44: /**
45: *
46: * This checks to see if a particular SubFundGroup is related to Contracts and Grants through its Account
47: * @param subFundGroup
48: * @return true if it is for contracts and grants
49: */
50: public boolean isForContractsAndGrants(SubFundGroup subFundGroup);
51:
52: /**
53: *
54: * This retrieves the attribute label for Contracts and Grants
55: * @return string representation of Contracts and Grants label
56: */
57: public String getContractsAndGrantsDenotingAttributeLabel();
58:
59: /**
60: * Extracts the appropriate value from the sub fund group for the C&G method selected.
61: *
62: * @param subFundGroup
63: * @return string representation of either Fund Group code or SubFund Group code
64: */
65: public String getContractsAndGrantsDenotingValue(
66: SubFundGroup subFundGroup);
67:
68: /**
69: *
70: * This retrieves the appropriate value for Contracts and Grants
71: * @return string representation of the Contracts and Grants value
72: */
73: public String getContractsAndGrantsDenotingValue();
74: }
|