package code.loader;

import java.io.*;
import java.util.*;

import code.loader.except.*;
import code.symbols.*;
import code.modules.CurryModule;

/**
 * The interface implemented by all module loaders. <P>
 * <p/>
 * <B>Class Responsibilities</B> :
 * <OL>
 * <LI> provide the common interface for all module loaders: CLASS, TXT, XML
 * </LI>
 * </OL>
 * <B>Class Collaborators</B> :
 * <OL>
 * <LI> None </LI>
 * </OL>
 *
 * @author Sunita Marathe 
 * @since Jul 15, 2005
 */

public interface ModuleLoader {

    /**
     * Load module specified by moduleFilePath
     *
     * @param moduleFilePath input to the module loader 
     * @throws LoadException
     */
    public CurryModule load (String moduleName, String moduleFilePath) throws Exception;
}
