/* --------------------------------------------------------- *
* __________ D E L T A S C R I P T *
* (_________() *
* / === / - A fast, dynamic scripting language *
* | == | - Version 4.13.11.0 *
* / === / - Developed by Adam R. Nelson *
* | = = | - 2011-2013 *
* / === / - Distributed under GNU LGPL v3 *
* (________() - http://github.com/ar-nelson/deltascript *
* *
* --------------------------------------------------------- */
package com.sector91.delta.script.module;
import java.util.Set;
import com.sector91.delta.script.DScriptErr;
import com.sector91.delta.script.objects.DS_Tag;
/**
* <p>Handles importing Java modules from JAR files and including them in the
* current scope. DeltaScript Java modules are defined with the
* {@link DSModule} annotation, and autoloaded by the name defined in this
* annotation. Because of this, modules with the same name and API but
* different implementations can be used interchangeably on different
* platforms.</p>
*
* @author Adam R. Nelson
* @since 3.12.2.0
* @version 4.13.11.0
*/
public interface ModuleLoader
{
public boolean isModuleAvailable(String moduleName);
public Class<?> loadModule(String moduleName) throws DScriptErr;
public Set<DS_Tag> getPlatformTags();
}