Interface JavaForkOptions

All Superinterfaces:
ProcessForkOptions
All Known Subinterfaces:
JavaExecSpec
All Known Implementing Classes:
JavaExec, RhinoShellExec, Test

public interface JavaForkOptions extends ProcessForkOptions

Specifies the options to use to fork a Java process.

  • Method Details

    • getSystemProperties

      @Input Map<String,Object> getSystemProperties()
      Returns the system properties which will be used for the process.
      Returns:
      The system properties. Returns an empty map when there are no system properties.
    • setSystemProperties

      void setSystemProperties(Map<String,?> properties)
      Sets the system properties to use for the process.
      Parameters:
      properties - The system properties. Must not be null.
    • systemProperties

      JavaForkOptions systemProperties(Map<String,?> properties)
      Adds some system properties to use for the process.
      Parameters:
      properties - The system properties. Must not be null.
      Returns:
      this
    • systemProperty

      JavaForkOptions systemProperty(String name, Object value)
      Adds a system property to use for the process.
      Parameters:
      name - The name of the property
      value - The value for the property. May be null.
      Returns:
      this
    • getDefaultCharacterEncoding

      @Optional @Input String getDefaultCharacterEncoding()
      Returns the default character encoding to use.
      Returns:
      The default character encoding. Returns null if the default character encoding of this JVM should be used.
    • setDefaultCharacterEncoding

      void setDefaultCharacterEncoding(String defaultCharacterEncoding)
      Sets the default character encoding to use. Note: Many JVM implementations support the setting of this attribute via system property on startup (namely, the file.encoding property). For JVMs where this is the case, setting the file.encoding property via setSystemProperties(java.util.Map) or similar will have no effect as this value will be overridden by the value specified by getDefaultCharacterEncoding().
      Parameters:
      defaultCharacterEncoding - The default character encoding. Use null to use this JVM's default charset
    • getMinHeapSize

      @Optional @Input String getMinHeapSize()
      Returns the minimum heap size for the process, if any.
      Returns:
      The minimum heap size. Returns null if the default minimum heap size should be used.
    • setMinHeapSize

      void setMinHeapSize(String heapSize)
      Sets the minimum heap size for the process.
      Parameters:
      heapSize - The minimum heap size. Use null for the default minimum heap size.
    • getMaxHeapSize

      @Optional @Input String getMaxHeapSize()
      Returns the maximum heap size for the process, if any.
      Returns:
      The maximum heap size. Returns null if the default maximum heap size should be used.
    • setMaxHeapSize

      void setMaxHeapSize(String heapSize)
      Sets the maximum heap size for the process.
      Parameters:
      heapSize - The heap size. Use null for the default maximum heap size.
    • getJvmArgs

      @Optional @Input List<String> getJvmArgs()
      Returns the extra arguments to use to launch the JVM for the process. Does not include system properties and the minimum/maximum heap size.
      Returns:
      The arguments. Returns an empty list if there are no arguments.
    • setJvmArgs

      void setJvmArgs(List<String> arguments)
      Sets the extra arguments to use to launch the JVM for the process. System properties and minimum/maximum heap size are updated.
      Parameters:
      arguments - The arguments. Must not be null.
      Since:
      4.0
    • setJvmArgs

      void setJvmArgs(Iterable<?> arguments)
      Sets the extra arguments to use to launch the JVM for the process. System properties and minimum/maximum heap size are updated.
      Parameters:
      arguments - The arguments. Must not be null.
    • jvmArgs

      JavaForkOptions jvmArgs(Iterable<?> arguments)
      Adds some arguments to use to launch the JVM for the process.
      Parameters:
      arguments - The arguments. Must not be null.
      Returns:
      this
    • jvmArgs

      JavaForkOptions jvmArgs(Object... arguments)
      Adds some arguments to use to launch the JVM for the process.
      Parameters:
      arguments - The arguments.
      Returns:
      this
    • getBootstrapClasspath

      @Classpath FileCollection getBootstrapClasspath()
      Returns the bootstrap classpath to use for the process. The default bootstrap classpath for the JVM is used when this classpath is empty.
      Returns:
      The bootstrap classpath. Never returns null.
    • setBootstrapClasspath

      void setBootstrapClasspath(FileCollection classpath)
      Sets the bootstrap classpath to use for the process. Set to an empty classpath to use the default bootstrap classpath for the specified JVM.
      Parameters:
      classpath - The classpath. Must not be null. Can be empty.
    • bootstrapClasspath

      JavaForkOptions bootstrapClasspath(Object... classpath)
      Adds the given values to the end of the bootstrap classpath for the process.
      Parameters:
      classpath - The classpath.
      Returns:
      this
    • getEnableAssertions

      @Input boolean getEnableAssertions()
      Returns true if assertions are enabled for the process.
      Returns:
      true if assertions are enabled, false if disabled
    • setEnableAssertions

      void setEnableAssertions(boolean enabled)
      Enable or disable assertions for the process.
      Parameters:
      enabled - true to enable assertions, false to disable.
    • getDebug

      @Input boolean getDebug()
      Returns true if debugging is enabled for the process. When enabled, the process is started suspended and listening on port 5005.
      Returns:
      true when debugging is enabled, false to disable.
    • setDebug

      void setDebug(boolean enabled)
      Enable or disable debugging for the process. When enabled, the process is started suspended and listening on port 5005.
      Parameters:
      enabled - true to enable debugging, false to disable.
    • getAllJvmArgs

      @Internal List<String> getAllJvmArgs()
      Returns the full set of arguments to use to launch the JVM for the process. This includes arguments to define system properties, the minimum/maximum heap size, and the bootstrap classpath.
      Returns:
      The arguments. Returns an empty list if there are no arguments.
    • setAllJvmArgs

      void setAllJvmArgs(List<String> arguments)
      Sets the full set of arguments to use to launch the JVM for the process. Overwrites any previously set system properties, minimum/maximum heap size, assertions, and bootstrap classpath.
      Parameters:
      arguments - The arguments. Must not be null.
      Since:
      4.0
    • setAllJvmArgs

      void setAllJvmArgs(Iterable<?> arguments)
      Sets the full set of arguments to use to launch the JVM for the process. Overwrites any previously set system properties, minimum/maximum heap size, assertions, and bootstrap classpath.
      Parameters:
      arguments - The arguments. Must not be null.
    • copyTo

      Copies these options to the given options.
      Parameters:
      options - The target options.
      Returns:
      this