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

# Class RmicAdapterFactory

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

    public final class RmicAdapterFactory
    extends java.lang.Object

Creates the necessary rmic adapter, given basic criteria.

Since:
  1.4

## Field Summary

Fields
Modifier and Type | Field | Description
--- | --- | ---
`static java.lang.String` | `DEFAULT_COMPILER` | If the compiler has this name use a default compiler.
`static java.lang.String` | `ERROR_NOT_RMIC_ADAPTER` | The error message to be used when the class is not an rmic adapter.
`static java.lang.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​(java.lang.String rmicType, Task task)` | Based on the parameter passed in, this method creates the necessary factory desired.
`static RmicAdapter` | `getRmic​(java.lang.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 java.lang.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 java.lang.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 java.lang.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​(java.lang.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​(java.lang.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