com.adobe.granite.workflow.model.WorkflowNode 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.model;
import com.adobe.granite.workflow.HasMetaData;
import java.util.List;
/**
* WorkflowNode
represents a node/step in a
* {@link WorkflowModel}
.
*/
public interface WorkflowNode extends HasMetaData {
public static final String TYPE_START = "START";
public static final String TYPE_END = "END";
public static final String TYPE_AND_SPLIT = "AND_SPLIT";
public static final String TYPE_AND_JOIN = "AND_JOIN";
public static final String TYPE_OR_SPLIT = "OR_SPLIT";
public static final String TYPE_OR_JOIN = "OR_JOIN";
public static final String TYPE_PROCESS = "PROCESS";
public static final String TYPE_CONTAINER = "CONTAINER";
public static final String TYPE_PARTICIPANT = "PARTICIPANT";
public static final String TYPE_DYNAMIC_PARTICIPANT = "DYNAMIC_PARTICIPANT";
public static final String TYPE_EXTERNAL_PROCESS = "EXTERNAL_PROCESS";
/**
* Returns the ID of the WorkflowNode
.
*
* @return ID of the WorkflowNode
.
*/
String getId();
/**
* Returns the type of the WorkflowNode
. Must be unique
* across all available types of WorkflowNode
s.
*
* @return The type of the WorkflowNode
.
*/
String getType();
/**
* Sets the type of the WorkflowNode
. Must be unique across
* all available types of WorkflowNode
s.
*
* @param type The new type the the WorkflowNode
.
*/
void setType(String type);
/**
* Returns the description of the WorkflowNode
.
*
* @return The description of the WorkflowNode
.
*/
String getDescription();
/**
* Set the description of the WorkflowNode
.
*
* @param description The new description of the WorkflowNode
.
*/
void setDescription(String description);
/**
* Returns the outgoing {@link WorkflowTransition}
s assigned
* to the WorkflowNode
.
*
* @return {@link WorkflowTransition}
s associated with the
* WorkflowNode
(only outgoing).
*/
List getTransitions();
/**
* Returns the incoming {@link WorkflowTransition}
s assigned
* to the WorkflowNode
.
*
* @return {@link WorkflowTransition}
s associated with the
* WorkflowNode
(only incoming).
*/
List getIncomingTransitions();
/**
* Returns the WorkflowNode
s title.
*
* @return The title of the WorkflowNode
.
*/
String getTitle();
/**
* Sets the title of the WorkflowNode
.
*
* @param title The new title of the WorkflowNode
.
*/
void setTitle(String title);
}