1 /*
2 * Copyright 2007 The Kuali Foundation
3 *
4 * Licensed under the Educational Community License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.opensource.org/licenses/ecl2.php
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 /*
17 * Created on Aug 12, 2004
18 */
19 package org.kuali.ole.pdp.service;
20
21 import org.kuali.rice.kim.api.identity.Person;
22
23 /**
24 * @author HSTAPLET
25 */
26 /**
27 * This class defines services for Batch maintenance.
28 */
29 public interface BatchMaintenanceService {
30
31 /**
32 * This method cancels a pending Batch.
33 * @param batchId the id of the batch to be canceled
34 * @param note a note stating the reason for the batch cancelation
35 * @param user the user that performed the batch cancelation
36 * @return true if batch successfully canceled, false otherwise
37 */
38 public boolean cancelPendingBatch(Integer batchId, String note, Person user);
39
40 /**
41 * This method holds a pending Batch.
42 * @param batchId the id of the batch to perfomr hold on
43 * @param note a nite stating the reason for holding batch
44 * @param user the user that performed the batch hold
45 * @return true if batch successfully hold, false otherwise
46 */
47 public boolean holdPendingBatch(Integer batchId, String note, Person user);
48
49 /**
50 * This method removes a hold on a Batch.
51 * @param batchId the id of the batch we want to remove the hold
52 * @param changeText a text stating the reason for removing the hold
53 * @param user the user that removed hold on batch
54 * @return true if batch hold successfully removed, false otherwise
55 */
56 public boolean removeBatchHold(Integer batchId, String changeText, Person user);
57
58 /**
59 * This method checks if the batch has open payments.
60 * @param batchId the id of the batch
61 * @return returns true if batch has open payments, false otherwise
62 */
63 public boolean doBatchPaymentsHaveOpenStatus(Integer batchId);
64
65 /**
66 * This method checks if batch payments has open or held payments.
67 * @param batchId the id of the batch
68 * @return true if batch has open or held payments, false otherwise
69 */
70 public boolean doBatchPaymentsHaveOpenOrHeldStatus(Integer batchId);
71
72 /**
73 * This method checks if batch payments have held status.
74 * @param batchId the id of the batch
75 * @return true if batch payments have held status, false otherwise
76 */
77 public boolean doBatchPaymentsHaveHeldStatus(Integer batchId);
78 }
79