View Javadoc
1   /*
2    * Copyright 2005 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 java.util.List;
19  
20  import org.kuali.ole.coa.businessobject.ObjectCode;
21  
22  /**
23   * This interface defines methods that an ObjectCode Service must provide.
24   */
25  public interface ObjectCodeService {
26  
27      /**
28       * @param universityFiscalYear - University Fiscal Year
29       * @param chartOfAccountsCode - Chart of Accounts Code
30       * @param financialObjectCode - Financial Object Code
31       * @return ObjectCode Retrieves an ObjectCode object based on primary key.
32       */
33      public ObjectCode getByPrimaryId(Integer universityFiscalYear, String chartOfAccountsCode, String financialObjectCode);
34  
35      /**
36       * @param universityFiscalYear - University Fiscal Year
37       * @param chartOfAccountsCode - Chart of Accounts Code
38       * @param financialObjectCode - Financial Object Code
39       * @return ObjectCode Retrieves an ObjectCode object based on primary key.
40       */
41      public ObjectCode getByPrimaryIdWithCaching(Integer universityFiscalYear, String chartOfAccountsCode, String financialObjectCode);
42  
43      /**
44       * This method returns an financial object code for the current fiscal year.
45       * 
46       * @param chartOfAccountsCode chart of accounts code for object code
47       * @param financialObjectCode financial object code
48       * @return the object code specified
49       */
50      public ObjectCode getByPrimaryIdForCurrentYear(String chartOfAccountsCode, String financialObjectCode);
51  
52      /**
53       * @param chartOfAccountsCode - Chart of Accounts Code
54       * @param financialObjectCode - Financial Object Code
55       * @return a list containing integer years, given object code. The list may be empty, but will not be null.
56       */
57      public List getYearList(String chartOfAccountsCode, String financialObjectCode);
58  
59      /**
60       * This method, written for use with DWR, returns a joined string representation of all of the names of the distinct object
61       * codes associated with each of the chart codes given. In the best of all possible worlds, this will only ever return *one*
62       * object code name, as object codes will be shared across charts.
63       * 
64       * @param universityFiscalYear the fiscal year of the financial object code to check.
65       * @param chartOfAccountCodes array of Chart of Accounts codes to
66       * @param financialObjectCode financial object code to look up
67       * @return a String representation of the distinct names of the object codes
68       */
69      public String getObjectCodeNamesByCharts(Integer universityFiscalYear, String[] chartOfAccountCodes, String financialObjectCode);
70  }