001 /*
002 * Copyright 2011 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 */
016
017 package org.kuali.kfs.module.purap.document.service;
018
019 import java.util.Collection;
020
021 import org.kuali.kfs.module.purap.businessobject.ReceivingAddress;
022
023 public interface ReceivingAddressService {
024
025 /**
026 * Finds all of the active receiving addresses with the specified chart/org code.
027 *
028 * @param chartCode - chart of accounts code.
029 * @param orgCode - organization code.
030 * @return - collection of receiving addresses found.
031 */
032 public Collection<ReceivingAddress> findActiveByChartOrg(String chartCode, String orgCode);
033
034 /**
035 * Finds all of the active default receiving addresses with the specified chart/org code.
036 * When the database is not in consistent state, there could be more than one active default address per chart/org.
037 *
038 * @param chartCode - chart of accounts code.
039 * @param orgCode - organization code.
040 * @return - collection of receiving addresses found.
041 */
042 public Collection<ReceivingAddress> findDefaultByChartOrg(String chartCode, String orgCode);
043
044 /**
045 * Finds the unique active default receiving addresses with the specified chart/org code.
046 * When the database is in consistent state, there shall be no more than one active default address per chart/org.
047 *
048 * @param chartCode - chart of accounts code.
049 * @param orgCode - organization code.
050 * @return - receiving addresses found.
051 */
052 public ReceivingAddress findUniqueDefaultByChartOrg(String chartCode, String orgCode);
053
054 /**
055 * Counts the number of the active receiving addresses with the specified chart/org code.
056 *
057 * @param chartCode - chart of accounts code.
058 * @param orgCode - organization code.
059 * @return - number of receiving addresses found.
060 */
061 public int countActiveByChartOrg(String chartCode, String orgCode);
062
063 }
064