All Downloads are FREE. Search and download functionalities are using the official Maven repository.

xsbti.AppProvider Maven / Gradle / Ivy

There is a newer version: 0.13.15
Show newest version
package xsbti;

import java.io.File;

public interface AppProvider
{
	/** Returns the ScalaProvider that this AppProvider will use. */
	public ScalaProvider scalaProvider();
	/** The ID of the application that will be created by 'newMain' or 'mainClass'.*/
	public ApplicationID id();
	/** The classloader used to load this application. */
	public ClassLoader loader();
	/** Loads the class for the entry point for the application given by 'id'.  
	 * This method will return the same class every invocation.  
	 * That is, the ClassLoader is not recreated each call.
	 * @deprecated("use entryPoint instead")
	 * 
	 * Note:  This will throw an exception if the launched application does not extend AppMain.
	 */
	@Deprecated
	public Class mainClass();
	/** Loads the class for the entry point for the application given by 'id'.  
	 * This method will return the same class every invocation.  
	 * That is, the ClassLoader is not recreated each call.
	 */
	public Class entryPoint();
	/** Creates a new instance of the entry point of the application given by 'id'.
	* It is NOT guaranteed that newMain().getClass() == mainClass().
	* The sbt launcher can wrap generic static main methods. In this case, there will be a wrapper class,
	* and you must use the `entryPoint` method.
	*/
	public AppMain newMain();
	
	/** The classpath from which the main class is loaded, excluding Scala jars.*/
	public File[] mainClasspath();

	public ComponentProvider components();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy