Package org.apache.tools.ant.taskdefs.rmic

# Class RmicAdapterFactory

java.lang.Object
org.apache.tools.ant.taskdefs.rmic.RmicAdapterFactory

public final class RmicAdapterFactory extends Object
Creates the necessary rmic adapter, given basic criteria.

Since:
  1.4

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`DEFAULT_COMPILER`
If the compiler has this name use a default compiler.
`static final String`
`ERROR_NOT_RMIC_ADAPTER`
The error message to be used when the class is not an rmic adapter.
`static final String`
`ERROR_UNKNOWN_COMPILER`
The error message to be used when the compiler cannot be found.

## Method Summary

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

## Field Details

### ERROR_UNKNOWN_COMPILER

public static final String ERROR_UNKNOWN_COMPILER
The error message to be used when the compiler cannot be found.

See Also:
  - Constant Field Values

### ERROR_NOT_RMIC_ADAPTER

public static final String ERROR_NOT_RMIC_ADAPTER
The error message to be used when the class is not an rmic adapter.

See Also:
  - Constant Field Values

### DEFAULT_COMPILER

public static final String DEFAULT_COMPILER
If the compiler has this name use a default compiler.

See Also:
  - Constant Field Values

## Method Details

### getRmic

public static RmicAdapter getRmic(String rmicType, Task task) throws BuildException
Based on the parameter passed in, this method creates the necessary factory desired.

The current mapping for rmic names are as follows:

- sun = SUN's rmic
- kaffe = Kaffe's rmic
- a fully qualified classname = the name of a rmic adapter
- weblogic = weblogic compiler
- forking = Sun's RMIC by forking a new JVM

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

### getRmic

public static RmicAdapter getRmic(String rmicType, Task task, Path classpath) throws BuildException
Based on the parameter passed in, this method creates the necessary factory desired.

The current mapping for rmic names are as follows:

- sun = SUN's rmic
- kaffe = Kaffe's rmic
- a fully qualified classname = the name of a rmic adapter
- weblogic = WebLogic compiler
- forking = Sun's RMIC by forking a new JVM

Parameters:
  `rmicType` - either the name of the desired rmic, or the full classname of the rmic'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 rmic type could not be resolved into a rmic adapter.
Since:
  Ant 1.8.0