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
`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

Methods
`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 Detail

#### 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 Detail

#### 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