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.Collection; 019 import java.util.List; 020 021 import org.kuali.kfs.module.endow.businessobject.Security; 022 023 public interface SecurityDao { 024 025 /** 026 * Gets all the securities for which the next income pay date is current date. 027 * 028 * @return 029 */ 030 public List<Security> getAllSecuritiesWithNextPayDateEqualCurrentDate(); 031 032 /** 033 * Gets securities whose next income pay date is equal to the current date and whose frequency code is valid 034 * 035 * @return List<Security> 036 */ 037 public List<Security> getSecuritiesWithNextPayDateEqualToCurrentDate(); 038 039 /** 040 * Gets all securities with a class code in the list given as input and with the number of units greater than zero. 041 * 042 * @param classCodes the list of class codes to use to retrieve securities 043 * @return all securities that meet the criteria 044 */ 045 public List<Security> getSecuritiesByClassCodeWithUnitsGreaterThanZero(List<String> classCodes); 046 047 /** 048 * Gets a collection of securities for a given securityclasscode (SEC_CLS_CD) 049 * @param securityClassCode 050 * @return Collection<Security> 051 */ 052 public Collection<Security> getSecuritiesBySecurityClassCode(String securityClassCode); 053 054 }