01: /*
02: * Copyright 2005-2007 The Kuali Foundation.
03: *
04: *
05: * Licensed under the Educational Community License, Version 1.0 (the "License");
06: * you may not use this file except in compliance with the License.
07: * You may obtain a copy of the License at
08: *
09: * http://www.opensource.org/licenses/ecl1.php
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17: package org.kuali.workflow.role;
18:
19: import java.sql.Timestamp;
20: import java.util.List;
21:
22: import edu.iu.uis.eden.doctype.DocumentType;
23: import edu.iu.uis.eden.exception.WorkflowException;
24: import edu.iu.uis.eden.routeheader.DocumentRouteHeaderValue;
25:
26: /**
27: *
28: * @author ewestfal
29: */
30: public interface RoleService {
31:
32: public Role findRoleById(Long roleId);
33:
34: public Role findRoleByName(String roleName);
35:
36: public QualifiedRole findQualifiedRoleById(Long qualifiedRoleId);
37:
38: public List<QualifiedRole> findQualifiedRolesForRole(
39: String roleName, Timestamp effectiveDate);
40:
41: public void save(Role role);
42:
43: public void save(QualifiedRole qualifiedRole);
44:
45: /**
46: * Re-resolves the given qualified role for all documents for the given document type (including children).
47: * This methods executes asynchronously.
48: */
49: public void reResolveRole(DocumentType documentType, String roleName)
50: throws WorkflowException;
51:
52: /**
53: * Re-resolves the given qualified role for all documents for the given document type (including children).
54: * This methods executes asynchronously.
55: */
56: public void reResolveQualifiedRole(DocumentType documentType,
57: String roleName, String qualifiedRoleNameLabel)
58: throws WorkflowException;
59:
60: /**
61: * Re-resolves the given qualified role on the given document. This method executes synchronously.
62: */
63: public void reResolveQualifiedRole(
64: DocumentRouteHeaderValue routeHeader, String roleName,
65: String qualifiedRoleNameLabel) throws WorkflowException;
66:
67: /**
68: * Re-resolves the given role on the given document. This method executes synchronously.
69: */
70: public void reResolveRole(DocumentRouteHeaderValue routeHeader,
71: String roleName) throws WorkflowException;
72:
73: }
|