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 }