1 /* 2 * Copyright 2005-2007 The Kuali Foundation 3 * 4 * 5 * Licensed under the Educational Community License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.opensource.org/licenses/ecl2.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.rice.kew.routemodule; 18 19 import java.util.List; 20 21 import org.kuali.rice.kew.actionrequest.ActionRequestValue; 22 import org.kuali.rice.kew.engine.RouteContext; 23 import org.kuali.rice.kew.exception.WorkflowException; 24 import org.kuali.rice.kew.util.ResponsibleParty; 25 26 27 /** 28 * A RouteModule is responsible for generating Action Requests for a given Route Header document. 29 * Implementations of this class are potentially remotable, so this interface uses value objects. 30 * 31 * @author Kuali Rice Team (rice.collab@kuali.org) 32 */ 33 public interface RouteModule { 34 35 /** 36 * Generate action requests for the given RouteContext. 37 * 38 * @return A List of the generated ActionRequestValue objects. 39 */ 40 public List<ActionRequestValue> findActionRequests(RouteContext context) throws Exception; 41 42 /** 43 * The route module will resolve the given responsibilityId and return an object that contains the key to 44 * either a user or a workgroup. 45 * @param rId ResponsibiliyId that we need resolved. 46 * @return The ResponsibleParty containing a key to a user or workgroup. 47 */ 48 public ResponsibleParty resolveResponsibilityId(String responsibilityId) throws WorkflowException; 49 50 }