001/* 002 * Copyright 2007 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/* 017 * Created on Aug 12, 2004 018 */ 019package org.kuali.ole.pdp.service; 020 021import org.kuali.rice.kim.api.identity.Person; 022 023/** 024 * @author HSTAPLET 025 */ 026/** 027 * This class defines services for Batch maintenance. 028 */ 029public interface BatchMaintenanceService { 030 031 /** 032 * This method cancels a pending Batch. 033 * @param batchId the id of the batch to be canceled 034 * @param note a note stating the reason for the batch cancelation 035 * @param user the user that performed the batch cancelation 036 * @return true if batch successfully canceled, false otherwise 037 */ 038 public boolean cancelPendingBatch(Integer batchId, String note, Person user); 039 040 /** 041 * This method holds a pending Batch. 042 * @param batchId the id of the batch to perfomr hold on 043 * @param note a nite stating the reason for holding batch 044 * @param user the user that performed the batch hold 045 * @return true if batch successfully hold, false otherwise 046 */ 047 public boolean holdPendingBatch(Integer batchId, String note, Person user); 048 049 /** 050 * This method removes a hold on a Batch. 051 * @param batchId the id of the batch we want to remove the hold 052 * @param changeText a text stating the reason for removing the hold 053 * @param user the user that removed hold on batch 054 * @return true if batch hold successfully removed, false otherwise 055 */ 056 public boolean removeBatchHold(Integer batchId, String changeText, Person user); 057 058 /** 059 * This method checks if the batch has open payments. 060 * @param batchId the id of the batch 061 * @return returns true if batch has open payments, false otherwise 062 */ 063 public boolean doBatchPaymentsHaveOpenStatus(Integer batchId); 064 065 /** 066 * This method checks if batch payments has open or held payments. 067 * @param batchId the id of the batch 068 * @return true if batch has open or held payments, false otherwise 069 */ 070 public boolean doBatchPaymentsHaveOpenOrHeldStatus(Integer batchId); 071 072 /** 073 * This method checks if batch payments have held status. 074 * @param batchId the id of the batch 075 * @return true if batch payments have held status, false otherwise 076 */ 077 public boolean doBatchPaymentsHaveHeldStatus(Integer batchId); 078} 079