001: /*
002: * Copyright 2005-2006 The Kuali Foundation.
003: *
004: *
005: * Licensed under the Educational Community License, Version 1.0 (the "License");
006: * you may not use this file except in compliance with the License.
007: * You may obtain a copy of the License at
008: *
009: * http://www.opensource.org/licenses/ecl1.php
010: *
011: * Unless required by applicable law or agreed to in writing, software
012: * distributed under the License is distributed on an "AS IS" BASIS,
013: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: * See the License for the specific language governing permissions and
015: * limitations under the License.
016: */
017: package edu.iu.uis.eden.server;
018:
019: import java.rmi.Remote;
020: import java.rmi.RemoteException;
021:
022: import edu.iu.uis.eden.clientapp.WorkflowDocument;
023: import edu.iu.uis.eden.clientapp.vo.AdHocRevokeVO;
024: import edu.iu.uis.eden.clientapp.vo.DocumentContentVO;
025: import edu.iu.uis.eden.clientapp.vo.MovePointVO;
026: import edu.iu.uis.eden.clientapp.vo.ResponsiblePartyVO;
027: import edu.iu.uis.eden.clientapp.vo.ReturnPointVO;
028: import edu.iu.uis.eden.clientapp.vo.RouteHeaderVO;
029: import edu.iu.uis.eden.clientapp.vo.UserIdVO;
030: import edu.iu.uis.eden.clientapp.vo.WorkgroupIdVO;
031: import edu.iu.uis.eden.exception.WorkflowException;
032:
033: /**
034: * A remotable service which provides an API for actions on documents.
035: *
036: * @see WorkflowDocument
037: *
038: * @author rkirkend
039: * @author ewestfal
040: */
041: public interface WorkflowDocumentActions extends Remote {
042:
043: public RouteHeaderVO acknowledgeDocument(UserIdVO userId,
044: RouteHeaderVO routeHeader, String annotation)
045: throws RemoteException, WorkflowException;
046:
047: public RouteHeaderVO approveDocument(UserIdVO userId,
048: RouteHeaderVO routeHeader, String annotation)
049: throws RemoteException, WorkflowException;
050:
051: public RouteHeaderVO appSpecificRouteDocument(UserIdVO userId,
052: RouteHeaderVO routeHeader, String actionRequested,
053: String nodeName, String annotation,
054: ResponsiblePartyVO responsibleParty,
055: String responsibilityDesc, boolean ignorePrevActions)
056: throws RemoteException, WorkflowException;
057:
058: public RouteHeaderVO cancelDocument(UserIdVO userId,
059: RouteHeaderVO routeHeader, String annotation)
060: throws RemoteException, WorkflowException;
061:
062: public RouteHeaderVO clearFYIDocument(UserIdVO userId,
063: RouteHeaderVO routeHeader) throws RemoteException,
064: WorkflowException;
065:
066: public RouteHeaderVO completeDocument(UserIdVO userId,
067: RouteHeaderVO routeHeader, String annotation)
068: throws RemoteException, WorkflowException;
069:
070: public RouteHeaderVO createDocument(UserIdVO userId,
071: RouteHeaderVO routeHeader) throws RemoteException,
072: WorkflowException;
073:
074: public RouteHeaderVO disapproveDocument(UserIdVO userId,
075: RouteHeaderVO routeHeader, String annotation)
076: throws RemoteException, WorkflowException;
077:
078: public RouteHeaderVO routeDocument(UserIdVO userId,
079: RouteHeaderVO routeHeader, String annotation)
080: throws RemoteException, WorkflowException;
081:
082: public RouteHeaderVO saveRoutingData(UserIdVO userId,
083: RouteHeaderVO routeHeader) throws RemoteException,
084: WorkflowException;
085:
086: public RouteHeaderVO saveDocument(UserIdVO userId,
087: RouteHeaderVO routeHeader, String annotation)
088: throws RemoteException, WorkflowException;
089:
090: public void deleteDocument(UserIdVO userId,
091: RouteHeaderVO routeHeader) throws RemoteException,
092: WorkflowException;
093:
094: public void logDocumentAction(UserIdVO userId,
095: RouteHeaderVO routeHeader, String annotation)
096: throws RemoteException, WorkflowException;
097:
098: public RouteHeaderVO super UserApprove(UserIdVO userId,
099: RouteHeaderVO routeHeader, String annotation)
100: throws RemoteException, WorkflowException;
101:
102: public RouteHeaderVO super UserActionRequestApprove(UserIdVO userId,
103: RouteHeaderVO routeHeaderVO, Long actionRequestId,
104: String annotation) throws RemoteException,
105: WorkflowException;
106:
107: public RouteHeaderVO super UserDisapprove(UserIdVO userId,
108: RouteHeaderVO routeHeader, String annotation)
109: throws RemoteException, WorkflowException;
110:
111: public RouteHeaderVO super UserCancel(UserIdVO userId,
112: RouteHeaderVO routeHeader, String annotation)
113: throws RemoteException, WorkflowException;
114:
115: public DocumentContentVO saveDocumentContent(
116: DocumentContentVO documentContent) throws RemoteException,
117: WorkflowException;
118:
119: // Deprecated as of 2.1 //
120:
121: /**
122: * @deprecated use blanketApproveToNodes instead
123: */
124: public RouteHeaderVO blanketApproval(UserIdVO userId,
125: RouteHeaderVO routeHeader, String annotation,
126: Integer routeLevel) throws RemoteException,
127: WorkflowException;
128:
129: /**
130: * @deprecated use returnDocumentToPreviousNode instead
131: */
132: public RouteHeaderVO returnDocumentToPreviousRouteLevel(
133: UserIdVO userId, RouteHeaderVO routeHeader,
134: Integer destRouteLevel, String annotation)
135: throws RemoteException, WorkflowException;
136:
137: // Introduced in 2.1 //
138:
139: public RouteHeaderVO blanketApprovalToNodes(UserIdVO userId,
140: RouteHeaderVO routeHeader, String annotation,
141: String[] nodeNames) throws RemoteException,
142: WorkflowException;
143:
144: public RouteHeaderVO returnDocumentToPreviousNode(UserIdVO userId,
145: RouteHeaderVO routeHeader, ReturnPointVO returnPoint,
146: String annotation) throws RemoteException,
147: WorkflowException;
148:
149: public RouteHeaderVO takeWorkgroupAuthority(UserIdVO userId,
150: RouteHeaderVO routeHeader, WorkgroupIdVO workgroupId,
151: String annotation) throws RemoteException,
152: WorkflowException;
153:
154: public RouteHeaderVO releaseWorkgroupAuthority(UserIdVO userId,
155: RouteHeaderVO routeHeader, WorkgroupIdVO workgroupId,
156: String annotation) throws RemoteException,
157: WorkflowException;
158:
159: public RouteHeaderVO moveDocument(UserIdVO userId,
160: RouteHeaderVO routeHeader, MovePointVO movePoint,
161: String annotation) throws RemoteException,
162: WorkflowException;
163:
164: // Introduced in 2.2.2 //
165:
166: /**
167: * Revokes AdHoc request(s) according to the given AppSpecificRevokeVO which is passed in.
168: */
169: public RouteHeaderVO revokeAdHocRequests(UserIdVO userId,
170: RouteHeaderVO routeHeader, AdHocRevokeVO revoke,
171: String annotation) throws RemoteException,
172: WorkflowException;
173:
174: }
|