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    }