//----------------------------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.store;

import org.huihoo.commons.jdbc.Store;
import org.huihoo.workflow.*;
import org.huihoo.workflow.WorkflowComponent;
import org.huihoo.workflow.WorkflowException;

public interface WorkflowTemplateFactory extends WorkflowComponent
{
	//--------------------------------------------------------------------------
	//
	//--------------------------------------------------------------------------	

	public boolean acceptsStore(Store caseSTORE, Store userSTORE) throws WorkflowException;

	public WorkflowTemplate create(Store caseSTORE, Store userSTORE, SchemaContext schemaCONTEXT)
		throws WorkflowException;

	//--------------------------------------------------------------------------
	//
	//--------------------------------------------------------------------------	
	/**
	 * Retrieves the factory's major version number. Initially this should be 1.
	 *
	 * @return this factory's major version number
	 */
	int getMajorVersion();

	/**
	 * Gets the factory's minor version number. Initially this should be 0.
	 * @return this factory's minor version number
	 */
	int getMinorVersion();
}
