org.apache.tools.ant.taskdefs.rmic

## Class SunRmic

- java.lang.Object
- - org.apache.tools.ant.taskdefs.rmic.DefaultRmicAdapter
  - - org.apache.tools.ant.taskdefs.rmic.SunRmic

- All Implemented Interfaces:
    RmicAdapter

      public class SunRmic
      extends DefaultRmicAdapter

  The implementation of the rmic for SUN's JDK.
  Since:
    Ant 1.4

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `COMPILER_NAME` the name of this adapter for users to select
    `static java.lang.String` | `ERROR_NO_RMIC_ON_CLASSPATH` Error message to use with the sun rmic is not the classpath.
    `static java.lang.String` | `ERROR_NO_RMIC_ON_CLASSPATH_JAVA_9`
    `static java.lang.String` | `ERROR_RMIC_FAILED` Error message to use when there is an error starting the sun rmic compiler
    `static java.lang.String` | `RMIC_CLASSNAME` name of the class
    `static java.lang.String` | `RMIC_EXECUTABLE` name of the executable

    - ### Fields inherited from class org.apache.tools.ant.taskdefs.rmic.DefaultRmicAdapter

      `RMI_SKEL_SUFFIX, RMI_STUB_SUFFIX, RMI_TIE_SUFFIX, STUB_1_1, STUB_1_2, STUB_COMPAT, STUB_OPTION_1_1, STUB_OPTION_1_2, STUB_OPTION_COMPAT`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SunRmic()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `execute()` Run the rmic compiler.
    `protected java.lang.String[]` | `preprocessCompilerArgs(java.lang.String[] compilerArgs)` Strip out all -J args from the command list.

    - ### Methods inherited from class org.apache.tools.ant.taskdefs.rmic.DefaultRmicAdapter

      `addStubVersionOptions, areIiopAndIdlSupported, filterJvmCompilerArgs, getClasspath, getCompileClasspath, getMapper, getRmic, getSkelClassSuffix, getStubClassSuffix, getTieClassSuffix, logAndAddFilesToCompile, setRmic, setupRmicCommand, setupRmicCommand`

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

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

- - ### Field Detail

    - #### RMIC_CLASSNAME

          public static final java.lang.String RMIC_CLASSNAME

      name of the class
      See Also:
        Constant Field Values

    - #### COMPILER_NAME

          public static final java.lang.String COMPILER_NAME

      the name of this adapter for users to select
      See Also:
        Constant Field Values

    - #### RMIC_EXECUTABLE

          public static final java.lang.String RMIC_EXECUTABLE

      name of the executable
      See Also:
        Constant Field Values

    - #### ERROR_NO_RMIC_ON_CLASSPATH

          public static final java.lang.String ERROR_NO_RMIC_ON_CLASSPATH

      Error message to use with the sun rmic is not the classpath.
      See Also:
        Constant Field Values

    - #### ERROR_NO_RMIC_ON_CLASSPATH_JAVA_9

          public static final java.lang.String ERROR_NO_RMIC_ON_CLASSPATH_JAVA_9

      See Also:
        Constant Field Values

    - #### ERROR_RMIC_FAILED

          public static final java.lang.String ERROR_RMIC_FAILED

      Error message to use when there is an error starting the sun rmic compiler
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### SunRmic

          public SunRmic()

  - ### Method Detail

    - #### execute

          public boolean execute()
                          throws BuildException

      Run the rmic compiler.
      Returns:
        true if the compilation succeeded
      Throws:
        `BuildException` - on error

    - #### preprocessCompilerArgs

          protected java.lang.String[] preprocessCompilerArgs(java.lang.String[] compilerArgs)

      Strip out all -J args from the command list.
      Overrides:
        `preprocessCompilerArgs` in class `DefaultRmicAdapter`
      Parameters:
        `compilerArgs` - the original compiler arguments
      Returns:
        the filtered set.