01: /*
02: * Copyright 2007 The Kuali Foundation.
03: *
04: * Licensed under the Educational Community License, Version 1.0 (the "License");
05: * you may not use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.opensource.org/licenses/ecl1.php
09: *
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.module.kra.service;
17:
18: import java.util.List;
19:
20: import org.kuali.module.kra.bo.AdhocOrg;
21: import org.kuali.module.kra.bo.AdhocPerson;
22: import org.kuali.module.kra.bo.AdhocWorkgroup;
23: import org.kuali.module.kra.bo.ResearchAdhocPermissionType;
24:
25: /**
26: * This interface defines methods that a BudgetPermissionsService must provide
27: */
28: public interface ResearchDocumentPermissionsService {
29:
30: /**
31: * Retrieve the AdHocPerson for the given documentNumber and personUniversalIdentifier.
32: *
33: * @param documentNumber
34: * @param personUniversalIdentifier
35: * @return AdHocPerson
36: */
37: public AdhocPerson getAdHocPerson(String documentNumber,
38: String personUniversalIdentifier);
39:
40: /**
41: * Retrieve the AdHocWorkgroup for the given documentNumber and personUniversalIdentifier.
42: *
43: * @param documentNumber
44: * @param workgroupName
45: * @return AdhocWorkgroup
46: */
47: public AdhocWorkgroup getAdHocWorkgroup(String documentNumber,
48: String workgroupName);
49:
50: /**
51: * Retrieve the AdHocWorkgroups for the given documentNumber.
52: *
53: * @param documentNumber
54: * @return AdhocWorkgroup
55: */
56: public List<AdhocWorkgroup> getAllAdHocWorkgroups(
57: String documentNumber);
58:
59: /**
60: * Retrieve the ad-hoc orgs for the given documentNumber and budgetPermissionCode.
61: *
62: * @param documentNumber
63: * @param budgetPermissionCode
64: * @return List<AdHocOrg>
65: */
66: public List<AdhocOrg> getAdHocOrgs(String documentNumber,
67: String permissionCode);
68:
69: /**
70: * Get the list of permission types.
71: *
72: * @return List<BudgetPermissionType>
73: */
74: public List<ResearchAdhocPermissionType> getPermissionTypes();
75:
76: /**
77: * Check whether given user is in the org routing hierarchy.
78: *
79: * @param String orgXml
80: * @param String uuid
81: * @return boolean
82: */
83: public boolean isUserInOrgHierarchy(String orgXml,
84: String documentType, String uuid);
85: }
|