/*
 * Created on 2004-7-18
 *
 * To change the template for this generated file go to
 * Window - Preferences - Java - Code Generation - Code and Comments
 */
package workflow;


/**
 * @author reic
 *
 * To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Generation - Code and Comments
 */
public class WorkflowObject implements WorkflowElement
{
	protected String uuid;
	protected String name;
	protected String description;

	/** 
	 * Construct a new XPDLElement.
	 */
	public WorkflowObject()
	{
		this(null, null);
	}

	/** 
	 * Construct a new XPDLElement.
	 *
	 * @param uuid_ The element ID
	 * @param name The element name
	 */
	public WorkflowObject(String uuid_, String name)
	{
		this(uuid_, name, null);
	}

	/** 
	 * Construct a new XPDLElement.
	 *
	 * @param uuid_          The element ID
	 * @param name        The element name
	 * @param description The element description
	 */
	public WorkflowObject(String uuid_, String name, String description)
	{
		this.uuid = uuid_;
		this.name = name;
		this.description = description;
	}
	/** Get the workflow element's ID.
	
		@return The ID
	*/

	public String getUUID()
	{
		return uuid;
	}

	/** jSet the element's unique ID.
	
		@param uuid_ The new unique ID
	*/

	public void setUUID(String uuid_)
	{
		if (uuid_ == null)
		{
			throw new IllegalArgumentException("ID cannot be null");
		}
		this.uuid = uuid_;
	}

	/** Get the workflow element's name.
	 *  @return The name
	 */

	public String getName()
	{
		return name;
	}

	/** Set the workflow element's name.
	
		@param name The new name
	*/

	public void setName(String name)
	{
		this.name = name;
	}

	/** Get the workflow element's description.
	
		@return The description
	*/

	public String getDescription()
	{
		return description;
	}

	/** Set the workflow element's description.
	
		@param description The new description
	*/

	public void setDescription(String description)
	{
		this.description = description;
	}
}
