package jadex.application;
import jadex.application.model.MApplicationType;
import jadex.commons.AbstractModelLoader;
import jadex.commons.ICacheableModel;
import jadex.commons.ResourceInfo;
import java.util.Set;
/**
* Loader for application files.
*/
public class ApplicationModelLoader extends AbstractModelLoader
{
//-------- constants --------
/** The application file extension. */
public static final String FILE_EXTENSION_APPLICATION = ".application.xml";
//-------- attributes --------
/** The xml reader. */
protected ApplicationXMLReader reader;
//-------- constructors --------
/**
* Create a new BPMN model loader.
*/
public ApplicationModelLoader(Set[] mappings)
{
super(new String[]{FILE_EXTENSION_APPLICATION});
this.reader = new ApplicationXMLReader(mappings);
}
//-------- methods --------
/**
* Load a BPMN model.
* @param name The filename or logical name (resolved via imports and extensions).
* @param imports The imports, if any.
*/
public MApplicationType loadApplicationModel(String name, String[] imports, ClassLoader classloader) throws Exception
{
return (MApplicationType)loadModel(name, FILE_EXTENSION_APPLICATION, imports, classloader);
}
//-------- AbstractModelLoader methods --------
/**
* Load a model.
* @param name The original name (i.e. not filename).
* @param info The resource info.
*/
protected ICacheableModel doLoadModel(String name, ResourceInfo info, ClassLoader classloader) throws Exception
{
return (ICacheableModel)reader.read(info, classloader);
}
}