Libraries.java

package edu.udel.cis.vsl.tass.library;

import edu.udel.cis.vsl.tass.ast.IF.ASTFactoryIF;
import edu.udel.cis.vsl.tass.ast.IF.ASTTransformerLoaderIF;
import edu.udel.cis.vsl.tass.config.RunConfiguration;
import edu.udel.cis.vsl.tass.dynamic.IF.DynamicFactoryIF;
import edu.udel.cis.vsl.tass.library.impl.ASTTransformerLoader;
import edu.udel.cis.vsl.tass.library.impl.LibraryExecutorLoader;
import edu.udel.cis.vsl.tass.library.impl.ModelTransformerLoader;
import edu.udel.cis.vsl.tass.model.IF.ModelFactoryIF;
import edu.udel.cis.vsl.tass.model.IF.ModelTransformerLoaderIF;
import edu.udel.cis.vsl.tass.semantics.IF.LibraryExecutorLoaderIF;
import edu.udel.cis.vsl.tass.semantics.IF.LogIF;

/**
 * This class is the entry point for the library module. It provides static
 * methods to create new loaders.
 */
public class Libraries {

	/** Returns a new library loader. */
	public static ASTTransformerLoaderIF newASTTransformerLoader(
			RunConfiguration configuration, ASTFactoryIF astFactory) {
		return new ASTTransformerLoader(configuration, astFactory);
	}

	public static ModelTransformerLoaderIF newModelTransformer(
			RunConfiguration configuration, ModelFactoryIF modelFactory) {
		return new ModelTransformerLoader(configuration, modelFactory);
	}

	public static LibraryExecutorLoaderIF newLibraryExecutorLoader(
			RunConfiguration configuration, DynamicFactoryIF dynamicFactory,
			LogIF log) {
		return new LibraryExecutorLoader(configuration, dynamicFactory, log);
	}

}