Package org.apache.tools.ant.taskdefs.compilers

# Class CompilerAdapterFactory

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

public final class CompilerAdapterFactory extends Object
Creates the necessary compiler adapter, given basic criteria.

Since:
  Ant 1.3

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static CompilerAdapter`
  `getCompiler​(String compilerType, Task task)`
  Based on the parameter passed in, this method creates the necessary factory desired.
  `static CompilerAdapter`
  `getCompiler​(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 Details

  - ### getCompiler

    public static CompilerAdapter getCompiler​(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​(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