All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.adobe.granite.workflow.exec.WorkItem Maven / Gradle / Ivy

/*************************************************************************
 *
 * ADOBE CONFIDENTIAL
 * __________________
 *
 *  Copyright 2012 Adobe Systems Incorporated
 *  All Rights Reserved.
 *
 * NOTICE:  All information contained herein is, and remains
 * the property of Adobe Systems Incorporated and its suppliers,
 * if any.  The intellectual and technical concepts contained
 * herein are proprietary to Adobe Systems Incorporated and its
 * suppliers and are protected by trade secret or copyright law.
 * Dissemination of this information or reproduction of this material
 * is strictly forbidden unless prior written permission is obtained
 * from Adobe Systems Incorporated.
 **************************************************************************/
package com.adobe.granite.workflow.exec;

import org.osgi.annotation.versioning.ProviderType;
import com.adobe.granite.workflow.HasMetaData;
import com.adobe.granite.workflow.model.WorkflowModel;
import com.adobe.granite.workflow.model.WorkflowNode;

import java.util.Date;

/**
 * 

* A WorkItem is the unit that is passed through an * {@link Workflow} instance of a * {@link WorkflowModel}. *

* It contains the {@link WorkflowData} the instances acts on and * a reference to the {@link WorkflowNode} that describes the underlying * workflow step. *

* A WorkItem can be considered as a token in a petri net that * flows through the net during execution. *

*/ @ProviderType public interface WorkItem extends InboxItem, HasMetaData { /** * Returns the start time of the WorkflowItem. * * @return The start time of the WorkflowItem. */ Date getTimeStarted(); /** * Returns the end time of the WorkflowItem. * * @return The end time of the WorkflowItem. */ Date getTimeEnded(); /** * Returns the {@link Workflow} instance assigned with this * WorkflowItem. * * @return Workflow of the workflow instance assigned with * the WorkflowItem. */ Workflow getWorkflow(); /** * Returns the current {@link WorkflowNode} the * WorkflowItem is attached to. * * @return The current {@link WorkflowNode} of the * WorkflowItem. */ WorkflowNode getNode(); /** * Returns the ID of the WorkflowItem. * * @return ID of the WorkflowItem. */ String getId(); /** * Returns the {@link WorkflowData} assigned to the * WorkflowItem. * * @return the {@link WorkflowData} of the * WorkflowItem. */ WorkflowData getWorkflowData(); /** * Returns the currently assigned user, respectively the info in which inbox the WorkItem "resides". * * @return current assignee */ String getCurrentAssignee(); /** * Sets the due time of this workitem. * @param dueTime the new due time of this workitem */ void setDueTime(Date dueTime); /** * Sets the progress begin time for this workitem. * @param progressBeginTime the time for when progress should start on this workitem. */ void setProgressBeginTime(Date progressBeginTime); /** * Sets the priority for this workitem. * @see InboxItem#getPriority() for details * @param priority the priority of this task. */ void setPriority(Priority priority); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy