org.activiti.engine.task.Task Maven / Gradle / Ivy
The newest version!
/* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.activiti.engine.task;
import java.util.Date;
/** Represents one task for a human user.
*
* @author Joram Barrez
* @author Tijs Rademakers
*/
public interface Task extends TaskInfo {
/**
* Default value used for priority when a new {@link Task} is created.
*/
int DEFAULT_PRIORITY = 50;
/** Name or title of the task. */
void setName(String name);
/** Change the description of the task */
void setDescription(String description);
/** Sets the indication of how important/urgent this task is */
void setPriority(int priority);
/** The {@link User.getId() userId} of the person that is responsible for this task. */
void setOwner(String owner);
/** The {@link User.getId() userId} of the person to which this task is delegated. */
void setAssignee(String assignee);
/** The current {@link DelegationState} for this task. */
DelegationState getDelegationState();
/** The current {@link DelegationState} for this task. */
void setDelegationState(DelegationState delegationState);
/** Change due date of the task. */
void setDueDate(Date dueDate);
/** Change the category of the task. This is an optional field and allows to 'tag' tasks as belonging to a certain category. */
void setCategory(String category);
/** delegates this task to the given user and sets the {@link #getDelegationState() delegationState} to {@link DelegationState#PENDING}.
* If no owner is set on the task, the owner is set to the current assignee of the task. */
void delegate(String userId);
/** the parent task for which this task is a subtask */
void setParentTaskId(String parentTaskId);
/** Change the tenantId of the task */
void setTenantId(String tenantId);
/** Change the form key of the task */
void setFormKey(String formKey);
/** Indicates whether this task is suspended or not. */
boolean isSuspended();
}