1   /**
2    * Copyright (c) 2000-2010 Liferay, Inc. All rights reserved.
3    *
4    * This library is free software; you can redistribute it and/or modify it under
5    * the terms of the GNU Lesser General Public License as published by the Free
6    * Software Foundation; either version 2.1 of the License, or (at your option)
7    * any later version.
8    *
9    * This library is distributed in the hope that it will be useful, but WITHOUT
10   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11   * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
12   * details.
13   */
14  
15  package com.liferay.portal.kernel.workflow;
16  
17  import com.liferay.portal.kernel.messaging.proxy.MessagingProxy;
18  import com.liferay.portal.kernel.messaging.proxy.ProxyMode;
19  import com.liferay.portal.kernel.util.OrderByComparator;
20  
21  import java.io.Serializable;
22  
23  import java.util.Date;
24  import java.util.List;
25  import java.util.Map;
26  
27  @MessagingProxy(mode = ProxyMode.SYNC)
28  /**
29   * <a href="WorkflowTaskManager.java.html"><b><i>View Source</i></b></a>
30   *
31   * @author Micha Kiener
32   * @author Shuyang Zhou
33   * @author Brian Wing Shun Chan
34   * @author Marcellus Tavares
35   */
36  public interface WorkflowTaskManager {
37  
38      public WorkflowTask assignWorkflowTaskToRole(
39              long companyId, long userId, long workflowTaskId, long roleId,
40              String comment, Date dueDate, Map<String, Serializable> context)
41          throws WorkflowException;
42  
43      public WorkflowTask assignWorkflowTaskToUser(
44              long companyId, long userId, long workflowTaskId,
45              long assigneeUserId, String comment, Date dueDate,
46              Map<String, Serializable> context)
47          throws WorkflowException;
48  
49      public WorkflowTask completeWorkflowTask(
50              long companyId, long userId, long workflowTaskId,
51              String transitionName, String comment,
52              Map<String, Serializable> context)
53          throws WorkflowException;
54  
55      public List<String> getNextTransitionNames(
56              long companyId, long userId, long workflowTaskId)
57          throws WorkflowException;
58  
59      public long[] getPooledActorsIds(long companyId, long workflowTaskId)
60          throws WorkflowException;
61  
62      public WorkflowTask getWorkflowTask(long companyId, long workflowTaskId)
63          throws WorkflowException;
64  
65      public int getWorkflowTaskCount(long companyId, Boolean completed)
66          throws WorkflowException;
67  
68      public int getWorkflowTaskCountByRole(
69              long companyId, long roleId, Boolean completed)
70          throws WorkflowException;
71  
72      public int getWorkflowTaskCountByUser(
73              long companyId, long userId, Boolean completed)
74          throws WorkflowException;
75  
76      public int getWorkflowTaskCountByUserRoles(
77              long companyId, long userId, Boolean completed)
78          throws WorkflowException;
79  
80      public int getWorkflowTaskCountByWorkflowInstance(
81              long companyId, long workflowInstanceId, Boolean completed)
82          throws WorkflowException;
83  
84      public List<WorkflowTask> getWorkflowTasks(
85              long companyId, Boolean completed, int start, int end,
86              OrderByComparator orderByComparator)
87          throws WorkflowException;
88  
89      public List<WorkflowTask> getWorkflowTasksByRole(
90              long companyId, long roleId, Boolean completed, int start, int end,
91              OrderByComparator orderByComparator)
92          throws WorkflowException;
93  
94      public List<WorkflowTask> getWorkflowTasksByUser(
95              long companyId, long userId, Boolean completed, int start, int end,
96              OrderByComparator orderByComparator)
97          throws WorkflowException;
98  
99      public List<WorkflowTask> getWorkflowTasksByUserRoles(
100             long companyId, long userId, Boolean completed, int start, int end,
101             OrderByComparator orderByComparator)
102         throws WorkflowException;
103 
104     public List<WorkflowTask> getWorkflowTasksByWorkflowInstance(
105             long companyId, long workflowInstanceId, Boolean completed,
106             int start, int end, OrderByComparator orderByComparator)
107         throws WorkflowException;
108 
109     public List<WorkflowTask> search(
110             long companyId, long userId, String keywords,
111             Boolean completed, Boolean searchByUserRoles, int start, int end,
112             OrderByComparator orderByComparator)
113         throws WorkflowException;
114 
115     public List<WorkflowTask> search(
116             long companyId, long userId, String name, String type, String state,
117             Date dueDateGT, Date dueDateLT, Boolean completed,
118             Boolean searchByUserRoles, boolean andOperator, int start, int end,
119             OrderByComparator orderByComparator)
120         throws WorkflowException;
121 
122     public int searchCount(
123             long companyId, long userId, String keywords, Boolean completed,
124             Boolean searchByUserRoles)
125         throws WorkflowException;
126 
127     public int searchCount(
128             long companyId, long userId, String name, String type, String state,
129             Date dueDateGT, Date dueDateLT, Boolean completed,
130             Boolean searchByUserRoles, boolean andOperator)
131         throws WorkflowException;
132 
133     public WorkflowTask updateDueDate(
134             long companyId, long userId, long workflowTaskId, String comment,
135             Date dueDate)
136         throws WorkflowException;
137 
138 }