org.apache.tools.ant.taskdefs.compilers

## Class CompilerAdapterFactory

- java.lang.Object
- - org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory

    public final class CompilerAdapterFactory
    extends java.lang.Object

Creates the necessary compiler adapter, given basic criteria.

Since:
  Ant 1.3

### Method Summary

All Methods Static Methods Concrete Methods
`static CompilerAdapter` `getCompiler(java.lang.String compilerType, Task task)` Based on the parameter passed in, this method creates the necessary factory desired.
`static CompilerAdapter` `getCompiler(java.lang.String compilerType, Task task, Path classpath)` Based on the parameter passed in, this method creates the necessary factory desired.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Method Detail

#### getCompiler

    public static CompilerAdapter getCompiler(java.lang.String compilerType,
                                              Task task)
                                       throws BuildException

Based on the parameter passed in, this method creates the necessary factory desired. The current mapping for compiler names are as follows:

- jikes = jikes compiler
- classic, javac1.1, javac1.2 = the standard compiler from JDK 1.1/1.2
- modern, javac1.3, javac1.4, javac1.5 = the compiler of JDK 1.3+
- jvc, microsoft = the command line compiler from Microsoft's SDK for Java / Visual J++
- kjc = the kopi compiler
- gcj = the gcj compiler from gcc
- sj, symantec = the Symantec Java compiler
- a fully qualified classname = the name of a compiler adapter

Parameters:
  `compilerType` - either the name of the desired compiler, or the full classname of the compiler's adapter.
  `task` - a task to log through.
Returns:
  the compiler adapter
Throws:
  `BuildException` - if the compiler type could not be resolved into a compiler adapter.

#### getCompiler

    public static CompilerAdapter getCompiler(java.lang.String compilerType,
                                              Task task,
                                              Path classpath)
                                       throws BuildException

Based on the parameter passed in, this method creates the necessary factory desired. The current mapping for compiler names are as follows:

- jikes = jikes compiler
- classic, javac1.1, javac1.2 = the standard compiler from JDK 1.1/1.2
- modern, javac1.3, javac1.4, javac1.5 = the compiler of JDK 1.3+
- jvc, microsoft = the command line compiler from Microsoft's SDK for Java / Visual J++
- kjc = the kopi compiler
- gcj = the gcj compiler from gcc
- sj, symantec = the Symantec Java compiler
- a fully qualified classname = the name of a compiler adapter

Parameters:
  `compilerType` - either the name of the desired compiler, or the full classname of the compiler's adapter.
  `task` - a task to log through.
  `classpath` - the classpath to use when looking up an adapter class
Returns:
  the compiler adapter
Throws:
  `BuildException` - if the compiler type could not be resolved into a compiler adapter.
Since:
  Ant 1.8.0