01: /*
02: * $Id: WfRequester.java,v 1.1 2003/08/17 09:29:33 ajzeneski Exp $
03: *
04: * Copyright (c) 2001, 2002 The Open For Business Project - www.ofbiz.org
05: *
06: * Permission is hereby granted, free of charge, to any person obtaining a
07: * copy of this software and associated documentation files (the "Software"),
08: * to deal in the Software without restriction, including without limitation
09: * the rights to use, copy, modify, merge, publish, distribute, sublicense,
10: * and/or sell copies of the Software, and to permit persons to whom the
11: * Software is furnished to do so, subject to the following conditions:
12: *
13: * The above copyright notice and this permission notice shall be included
14: * in all copies or substantial portions of the Software.
15: *
16: * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17: * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18: * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19: * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20: * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
21: * OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
22: * THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23: *
24: */
25: package org.ofbiz.workflow;
26:
27: import java.util.Iterator;
28: import java.util.List;
29: import java.util.Map;
30:
31: import org.ofbiz.service.GenericRequester;
32:
33: /**
34: * WfRequester - Workflow Requester Interface
35: *
36: * @author <a href="mailto:jaz@ofbiz.org">Andy Zeneski</a>
37: * @version $Revision: 1.1 $
38: * @since 2.0
39: */
40: public interface WfRequester {
41:
42: /**
43: * Gets the number of processes.
44: * @throws WfException
45: * @return Count of the number of workflow processes
46: */
47: public int howManyPerformer() throws WfException;
48:
49: /** Gets an iterator of processes.
50: * @throws WfException
51: * @return Iterator of workflow processes.
52: */
53: public Iterator getIteratorPerformer() throws WfException;
54:
55: /**
56: * A list of processes
57: * @param maxNumber
58: * @throws WfException
59: * @return List of WfProcess objects.
60: */
61: public List getSequencePerformer(int maxNumber) throws WfException;
62:
63: /**
64: * Checks if a WfProcess is associated with this requester object
65: * @param member
66: * @throws WfException
67: * @return true if the process is found.
68: */
69: public boolean isMemberOfPerformer(WfProcess member)
70: throws WfException;
71:
72: /**
73: * Registers a process with this requester; starts the process.
74: *@param process to register
75: *@param context to initialize the process with
76: *@param requester associated with the service
77: *@throws WfException
78: */
79: public void registerProcess(WfProcess process, Map context,
80: GenericRequester requester) throws WfException;
81:
82: /**
83: * Receives notice of event status changes
84: * @param event
85: * @throws WfException
86: * @throws InvalidPerformer
87: */
88: public void receiveEvent(WfEventAudit event) throws WfException,
89: InvalidPerformer;
90:
91: } // interface WfRequesterOperations
|