//----------------------------BEGIN LICENSE----------------------------
/* 
 * Willow : the Open Source WorkFlow Project
 * Distributable under GNU LGPL license by gun.org
 *
 * Copyright (C) 2004-2010 huihoo.org 
 * Copyright (C) 2004-2010  ZosaTapo <dertyang@hotmail.com> 
 * 
 * ====================================================================
 * Project Homepage : http://www.huihoo.org/willow
 * Source Forge     : http://sourceforge.net/projects/huihoo
 * Mailing list     : willow@lists.sourceforge.net 
 */
//----------------------------END  LICENSE----------------------------
package org.huihoo.workflow.desktop;

import java.util.Hashtable;

import org.huihoo.workflow.WorkflowException;

public interface WorkflowDesktopFactory
{
	/**
		* Creates an Initial Desktop for beginning name resolution.
		* Special requirements of this context are supplied
		* using <code>environment</code>.
		*<p>
		* The environment parameter is owned by the caller.
		* The implementation will not modify the object or keep a reference
		* to it, although it may keep a reference to a clone or copy.
		*
		* @param environment The possibly null environment
		* 		specifying information to be used in the creation 
		* 		of the initial workflowclient.
		* @return A non-null initial context object that implements the WorkflowDesktop
		*		interface.
		* @exception WorkflowException If cannot create an initial WorkflowDesktop.
		*/
	public WorkflowDesktop getInitialDesktop(Hashtable environment) throws WorkflowException;
}
