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.document.service; 017 018 import java.util.Collection; 019 020 import org.kuali.kfs.module.endow.businessobject.HoldingHistory; 021 import org.kuali.rice.kns.util.KualiInteger; 022 023 /** 024 * HoldingHistoryService interface to provide the method to get holding history records 025 */ 026 public interface HoldingHistoryService { 027 028 /** 029 * gets holding history records matching security id and month end id 030 * 031 * @param securityId, monthEndId 032 * @return List<HoldingHistory> List of HoldingHistory records matched on securityId and monthEndId 033 */ 034 public Collection<HoldingHistory> getHoldingHistoryBySecuritIdAndMonthEndId(String securityId, KualiInteger monthEndId); 035 036 /** 037 * saves holding history records 038 * 039 * @param List<HoldingHistory> List of HoldingHistory record to save 040 * @return boolean true is successful else false 041 */ 042 public boolean saveHoldingHistory(HoldingHistory holdingHistoryRecord); 043 044 /** 045 * gets the distinct kemid from Holding History records for a given security id 046 * 047 * @param securityId 048 * @return kemid 049 */ 050 public String getKemIdFromHoldingHistory(String securityId); 051 052 /** 053 * gets holding history records matching securityClassCode 054 * 055 * @param securityClassCode 056 * @return List<HoldingHistory> List of HoldingHistory records matching securityClassCode 057 */ 058 public Collection<HoldingHistory> getHoldingHistoryForMatchingSecurityClassCode(String securityClassCode); 059 060 /** 061 * gets holding history records matching securityId 062 * 063 * @param securityId 064 * @return List<HoldingHistory> List of HoldingHistory records matching securityId 065 */ 066 public Collection<HoldingHistory> getHoldingHistoryBySecurityId(String securityId); 067 068 /** 069 * gets holding history records matching securityClassCode, securityId 070 * 071 * @param securityClassCode, securityId 072 * @return List<HoldingHistory> List of HoldingHistory records matching securityClassCode, securityId 073 */ 074 public Collection<HoldingHistory> getHoldingHistoryForMatchingSecurityClassCodeAndSecurityId(String securityClassCode, String securityId); 075 076 /** 077 * gets holding history records matching incomePrincipalIndicator 078 * 079 * @param incomePrincipalIndicator 080 * @return List<HoldingHistory> List of HoldingHistory records matching incomePrincipalIndicator 081 */ 082 public Collection<HoldingHistory> getHoldingHistoryByIncomePrincipalIndicator(String incomePrincipalIndicator); 083 084 /** 085 * gets holding history records 086 * 087 * @return List<HoldingHistory> List of HoldingHistory records 088 */ 089 public Collection<HoldingHistory> getAllHoldingHistory(); 090 091 }