sbt/launch/interface/src/main/java/xsbti/AppProvider.java

24 lines
853 B
Java
Raw Normal View History

2009-09-26 08:18:04 +02:00
package xsbti;
2009-12-08 01:02:30 +01:00
import java.io.File;
2009-09-26 08:18:04 +02:00
public interface AppProvider
{
2009-10-17 15:48:39 +02:00
/** Returns the ScalaProvider that this AppProvider will use. */
2009-09-26 08:18:04 +02:00
public ScalaProvider scalaProvider();
2009-10-17 15:48:39 +02:00
/** The ID of the application that will be created by 'newMain' or 'mainClass'.*/
2009-09-26 08:18:04 +02:00
public ApplicationID id();
2009-10-17 15:48:39 +02:00
/** 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.*/
2009-09-26 08:18:04 +02:00
public Class<? extends AppMain> mainClass();
2009-10-17 15:48:39 +02:00
/** Creates a new instance of the entry point of the application given by 'id'.
* It is guaranteed that newMain().getClass() == mainClass()*/
2009-09-26 08:18:04 +02:00
public AppMain newMain();
2009-12-08 01:02:30 +01:00
/** The classpath from which the main class is loaded, excluding Scala jars.*/
public File[] mainClasspath();
2009-09-26 08:18:04 +02:00
public ComponentProvider components();
}