edu.rice.cs.drjava.model.compiler
Interface CompilerInterface

All Known Implementing Classes:
JavacCompiler, NoCompilerAvailable

public interface CompilerInterface

The minimum interface that a compiler must meet to be used by DrJava.

Version:
$Id: CompilerInterface.java 4674 2008-11-05 18:37:06Z rcartwright $

Method Summary
 List<? extends DJError> compile(List<? extends File> files, List<? extends File> classPath, List<? extends File> sourcePath, File destination, List<? extends File> bootClassPath, String sourceVersion, boolean showWarnings)
          Compile the given files.
 String getDescription()
          Returns a one-line description of the compiler (such as the name and file location)
 String getName()
          Returns the name of this compiler, appropriate to show to the user.
 boolean isAvailable()
          Indicates whether this compiler is actually available.
 String toString()
          String to display in a combo box (generally getName())
 JavaVersion version()
          The latest version of Java supported by the compiler
 

Method Detail

isAvailable

boolean isAvailable()
Indicates whether this compiler is actually available. As in: Is it installed and located? This method should load the compiler class, which should hopefully prove whether the class can load. If this method returns true, the compile(java.util.List, java.util.List, java.util.List, java.io.File, java.util.List, java.lang.String, boolean) method should not fail due to class not being found.


compile

List<? extends DJError> compile(List<? extends File> files,
                                List<? extends File> classPath,
                                List<? extends File> sourcePath,
                                File destination,
                                List<? extends File> bootClassPath,
                                String sourceVersion,
                                boolean showWarnings)
Compile the given files.

Parameters:
files - Source files to compile.
classPath - Support jars or directories that should be on the classpath. If @code{null}, the default is used.
sourcePath - Location of additional sources to be compiled on-demand. If @code{null}, the default is used.
destination - Location (directory) for compiled classes. If @code{null}, the default in-place location is used.
bootClassPath - The bootclasspath (contains Java API jars or directories); should be consistent with @code{sourceVersion} If @code{null}, the default is used.
sourceVersion - The language version of the sources. Should be consistent with @code{bootClassPath}. If @code{null}, the default is used.
showWarnings - Whether compiler warnings should be shown or ignored.
Returns:
Errors that occurred. If no errors, should be zero length (not null).

version

JavaVersion version()
The latest version of Java supported by the compiler


getName

String getName()
Returns the name of this compiler, appropriate to show to the user.


getDescription

String getDescription()
Returns a one-line description of the compiler (such as the name and file location)


toString

String toString()
String to display in a combo box (generally getName())

Overrides:
toString in class Object