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 package org.kuali.kfs.module.endow.dataaccess;
017
018 import java.util.List;
019
020 import org.apache.ojb.broker.query.Criteria;
021 import org.apache.ojb.broker.query.QueryByCriteria;
022 import org.apache.ojb.broker.query.QueryFactory;
023 import org.kuali.kfs.module.endow.EndowPropertyConstants;
024 import org.kuali.kfs.module.endow.businessobject.KemidBenefittingOrganization;
025 import org.kuali.kfs.module.endow.report.util.KemidsWithMultipleBenefittingOrganizationsDataHolder;
026
027 public interface KemidBenefittingOrganizationDao {
028
029 /**
030 * Gets kemids by the given attribute value strings
031 *
032 * @param attributeName
033 * @param values
034 * @return
035 */
036 public List<String> getKemidsByAttribute(String attributeName, List<String> values);
037
038 /**
039 * Gets the attributes values by the given value strings
040 *
041 * @param attributeName
042 * @param values
043 * @return
044 */
045 public List<String> getAttributeValues(String attributeName, List<String> values);
046
047 /**
048 * Gets BenefittingOrganizations whose kemids exist in multiple
049 *
050 * @param kemids
051 * @return
052 */
053 public List<KemidsWithMultipleBenefittingOrganizationsDataHolder> getKemidsWithMultipleBenefittingOrganizations(List<String> kemids);
054
055 /**
056 * Gets KemidBenefittingOrganizations by kemids
057 *
058 * @param kemids
059 * @return
060 */
061 public List<KemidBenefittingOrganization> getBenefittingOrganizations(List<String> kemids);
062
063 /**
064 * Get the kemids that are more than one
065 *
066 * @param kemids
067 * @return
068 */
069 public List<String> getIdsForMultipleBenefittingOrganizations(List<String> kemids);
070
071 /**
072 * Gets the campus codes, using the campus codes
073 *
074 * @param campusCodes
075 * @return
076 */
077 public List<String> getKemidsByCampusCode(List<String> campusCodes);
078
079 /**
080 * Gets the campus codes by the given given attribute values
081 *
082 * @param attributeName
083 * @param values
084 * @return
085 */
086 public List<String> getCampusCodes(String attributeName, List<String> values);
087
088 /**
089 * Gets the campus code by chart code and organization code
090 *
091 * @param charCode
092 * @param organziationCode
093 * @return
094 */
095 public String getCampusCode(String charCode, String organziationCode);
096 }