Class DefaultRmicAdapter

java.lang.Object
org.apache.tools.ant.taskdefs.rmic.DefaultRmicAdapter
All Implemented Interfaces:
RmicAdapter
Direct Known Subclasses:
ForkingSunRmic, KaffeRmic, SunRmic, WLRmic

public abstract class DefaultRmicAdapter
extends java.lang.Object
implements RmicAdapter
This is the default implementation for the RmicAdapter interface. Currently, this is a cut-and-paste of the original rmic task and DefaultCompilerAdapter.
Since:
Ant 1.4
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static java.lang.String RMI_SKEL_SUFFIX
    suffix denoting a skel file: "_Skel"
    static java.lang.String RMI_STUB_SUFFIX
    suffix denoting a stub file: "_Stub"
    static java.lang.String RMI_TIE_SUFFIX
    suffix denoting a tie file: "_Tie"
    static java.lang.String STUB_1_1
    arg for 1.1: "-v1.1"
    static java.lang.String STUB_1_2
    arg for 1.2: "-v1.2"
    static java.lang.String STUB_COMPAT
    arg for compat: "-vcompat"
    static java.lang.String STUB_OPTION_1_1
    option for stub 1.1 in the rmic task: "1.1"
    static java.lang.String STUB_OPTION_1_2
    option for stub 1.2 in the rmic task: "1.2"
    static java.lang.String STUB_OPTION_COMPAT
    option for stub compat in the rmic task: "compat"
  • Constructor Summary

    Constructors 
    Constructor Description
    DefaultRmicAdapter()  
  • Method Summary

    Modifier and Type Method Description
    protected java.lang.String addStubVersionOptions()
    This is an override point; get the stub version off the rmic command and translate that into a compiler-specific argument
    protected boolean areIiopAndIdlSupported()
    Whether the iiop and idl switches are supported.
    protected java.lang.String[] filterJvmCompilerArgs​(java.lang.String[] compilerArgs)
    Strip out all -J args from the command list.
    Path getClasspath()
    Gets the CLASSPATH this rmic process will use.
    protected Path getCompileClasspath()
    Builds the compilation classpath.
    FileNameMapper getMapper()
    This implementation returns a mapper that may return up to two file names.
    Rmic getRmic()
    Get the Rmic attributes
    protected java.lang.String getSkelClassSuffix()
    Gets the skeleton class suffix
    protected java.lang.String getStubClassSuffix()
    Gets the stub class suffix
    protected java.lang.String getTieClassSuffix()
    Gets the tie class suffix
    protected void logAndAddFilesToCompile​(Commandline cmd)
    Logs the compilation parameters, adds the files to compile and logs the "niceSourceList"
    protected java.lang.String[] preprocessCompilerArgs​(java.lang.String[] compilerArgs)
    Preprocess the compiler arguments in any way you see fit.
    void setRmic​(Rmic attributes)
    Sets Rmic attributes
    protected Commandline setupRmicCommand()
    Setup rmic argument for rmic.
    protected Commandline setupRmicCommand​(java.lang.String[] options)
    Setup rmic argument for rmic.

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface org.apache.tools.ant.taskdefs.rmic.RmicAdapter

    execute
  • Field Details

  • Constructor Details

  • Method Details

    • setRmic

      public void setRmic​(Rmic attributes)
      Sets Rmic attributes
      Specified by:
      setRmic in interface RmicAdapter
      Parameters:
      attributes - the rmic attributes
    • getRmic

      public Rmic getRmic()
      Get the Rmic attributes
      Returns:
      the attributes as a Rmic taskdef
    • getStubClassSuffix

      protected java.lang.String getStubClassSuffix()
      Gets the stub class suffix
      Returns:
      the stub suffix "_Stub"
    • getSkelClassSuffix

      protected java.lang.String getSkelClassSuffix()
      Gets the skeleton class suffix
      Returns:
      the skeleton suffix "_Skel"
    • getTieClassSuffix

      protected java.lang.String getTieClassSuffix()
      Gets the tie class suffix
      Returns:
      the tie suffix "_Tie"
    • getMapper

      public FileNameMapper getMapper()
      This implementation returns a mapper that may return up to two file names.
      • for JRMP it will return *_getStubClassSuffix (and *_getSkelClassSuffix if JDK 1.1 is used)
      • for IDL it will return a random name, causing <rmic> to always recompile.
      • for IIOP it will return _*_getStubClassSuffix for interfaces and _*_getStubClassSuffix for non-interfaces (and determine the interface and create _*_Stub from that).
      Specified by:
      getMapper in interface RmicAdapter
      Returns:
      a FileNameMapper
    • getClasspath

      public Path getClasspath()
      Gets the CLASSPATH this rmic process will use.
      Specified by:
      getClasspath in interface RmicAdapter
      Returns:
      the classpath
    • getCompileClasspath

      protected Path getCompileClasspath()
      Builds the compilation classpath.
      Returns:
      the classpath
    • areIiopAndIdlSupported

      protected boolean areIiopAndIdlSupported()
      Whether the iiop and idl switches are supported.

      This implementation returns false if running on Java 11 onwards and true otherwise.

      Returns:
      true if the iiop and idl switches are supported
      Since:
      Ant 1.10.3
    • setupRmicCommand

      protected Commandline setupRmicCommand()
      Setup rmic argument for rmic.
      Returns:
      the command line
    • setupRmicCommand

      protected Commandline setupRmicCommand​(java.lang.String[] options)
      Setup rmic argument for rmic.
      Parameters:
      options - additional parameters needed by a specific implementation.
      Returns:
      the command line
    • addStubVersionOptions

      protected java.lang.String addStubVersionOptions()
      This is an override point; get the stub version off the rmic command and translate that into a compiler-specific argument
      Returns:
      a string to use for the stub version; can be null
      Since:
      Ant1.7.1
    • preprocessCompilerArgs

      protected java.lang.String[] preprocessCompilerArgs​(java.lang.String[] compilerArgs)
      Preprocess the compiler arguments in any way you see fit. This is to allow compiler adapters to validate or filter the arguments. The base implementation returns the original compiler arguments unchanged.
      Parameters:
      compilerArgs - the original compiler arguments
      Returns:
      the filtered set.
    • filterJvmCompilerArgs

      protected java.lang.String[] filterJvmCompilerArgs​(java.lang.String[] compilerArgs)
      Strip out all -J args from the command list. Invoke this from preprocessCompilerArgs(String[]) if you have a non-forking compiler.
      Parameters:
      compilerArgs - the original compiler arguments
      Returns:
      the filtered set.
    • logAndAddFilesToCompile

      protected void logAndAddFilesToCompile​(Commandline cmd)
      Logs the compilation parameters, adds the files to compile and logs the "niceSourceList"
      Parameters:
      cmd - the commandline args