/* --------------------------------------------------------- * * __________ 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(); }