1 /*
2 * Copyright 2008 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 package org.kuali.ole.module.purap.service;
17
18 import org.kuali.ole.module.purap.businessobject.PurchaseOrderSensitiveData;
19 import org.kuali.ole.module.purap.businessobject.SensitiveData;
20 import org.kuali.ole.module.purap.businessobject.SensitiveDataAssignment;
21 import org.kuali.ole.module.purap.businessobject.SensitiveDataAssignmentDetail;
22
23 import java.util.List;
24
25 public interface SensitiveDataService {
26
27 public List<SensitiveData> getSensitiveDatasAssignedByRelatedDocId(Integer accountsPayablePurchasingDocumentLinkIdentifier);
28
29 /**
30 * Returns a sensitive data record associated with the given code.
31 *
32 * @param sensitiveDataCode the code of the sensitive data
33 * @return the sensitive data object with the give code
34 */
35 public SensitiveData getSensitiveDataByCode(String sensitiveDataCode);
36
37 /**
38 * Returns all sensitive data records stored in the business object table.
39 *
40 * @return a list of all sensitive data objects
41 */
42 public List<SensitiveData> getAllSensitiveDatas();
43
44 /**
45 * Gets all sensitive data entries assigned to the specified purchase order.
46 *
47 * @param poId the ID of the specified purchase order
48 * @return a list of sensitive data entries assigned to the PO
49 */
50 public List<SensitiveData> getSensitiveDatasAssignedByPoId(Integer poId);
51
52 /**
53 * Gets all sensitive data entries assigned to the specified purchase order.
54 *
55 * @param reqId the ID of the requisition that's associated with the purchase order
56 * @return a list of sensitive data entries assigned to the PO
57 */
58 public List<SensitiveData> getSensitiveDatasAssignedByReqId(Integer reqId);
59
60 /**
61 * Deletes all sensitive data entries assigned to the specified purchase order.
62 *
63 * @param poId the ID of the PO
64 */
65 public void deletePurchaseOrderSensitiveDatas(Integer poId);
66
67 /**
68 * Saves the specified list of PurchaseOrderSensitiveData objects into the database.
69 *
70 * @param posds the PurchaseOrderSensitiveData objects to be saved
71 */
72 public void savePurchaseOrderSensitiveDatas(List<PurchaseOrderSensitiveData> posds);
73
74 /**
75 * Gets the latest sensitive data assignment for the specified purchase order.
76 *
77 * @param poId the ID of the specified PO
78 * @return the latest sensitive data assignment for the PO
79 */
80 public SensitiveDataAssignment getLastSensitiveDataAssignment(Integer poId);
81
82 /**
83 * Gets the latest sensitive data assignment ID for the specified purchase order.
84 *
85 * @param poId the ID of the specified PO
86 * @return the latest sensitive data assignment ID for the PO
87 */
88 public Integer getLastSensitiveDataAssignmentId(Integer poId);
89
90 /**
91 * Saves the specified SensitiveDataAssignment object into the database.
92 *
93 * @param sda the SensitiveDataAssignment object to be saved
94 */
95 public void saveSensitiveDataAssignment(SensitiveDataAssignment sda);
96
97 /**
98 * Gets the latest sensitive data assignment details for the specified purchase order.
99 *
100 * @param poId the ID of the specified PO
101 * @return the latest sensitive data assignment details for the PO
102 */
103 public List<SensitiveDataAssignmentDetail> getLastSensitiveDataAssignmentDetails(Integer poId);
104
105 /**
106 * Saves the specified list of SensitiveDataAssignmentDetail objects into the database.
107 *
108 * @param sdads the SensitiveDataAssignmentDetail objects to be saved
109 */
110 public void saveSensitiveDataAssignmentDetails(List<SensitiveDataAssignmentDetail> sdads);
111
112 //public void savePurchaseOrderSensitiveData(String poId, String reqId, String sensitiveDataCode);
113 //public void savePurchaseOrderSensitiveData(PurchaseOrderSensitiveData posd);
114 //public void saveSensitiveDataAssignment(String sdaId, String poId, String userId, Date date);
115 //public void saveSensitiveDataAssignmentDetail(String sdaId, String sensitiveDataCode);
116 //public void saveSensitiveDataAssignmentDetail(SensitiveDataAssignmentDetail sdad);
117
118 }