Package org.apache.tools.ant.taskdefs.modules

# Class Link.Launcher

java.lang.Object
org.apache.tools.ant.taskdefs.modules.Link.Launcher

Enclosing class:
  Link

    public class Link.Launcher
    extends java.lang.Object

Child element representing a custom launcher command in a linked image. A launcher has a name, which is typically used as a file name for an executable file, a Java module name, and optionally a class within that module which can act as a standard Java main class.

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `Launcher()` | Creates a new, unconfigured element.
  `Launcher​(java.lang.String textSpec)` | Creates a new element from a `jlink`-compatible string specifier, which must take the form name`=`module or name`=`module`/`mainclass.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `java.lang.String` | `getMainClass()` | Returns the attribute of this element which contains the main class to execute in this element's module, if that module doesn't define its main class.
  `java.lang.String` | `getModule()` | Returns the attribute of this element which contains the name of the Java module to execute.
  `java.lang.String` | `getName()` | Returns this element's name attribute, typically used as the basis of an executable file name.
  `void` | `setMainClass​(java.lang.String className)` | Sets the attribute which contains the main class to execute in this element's module, if that module doesn't define its main class.
  `void` | `setModule​(java.lang.String module)` | Sets the attribute of this element which contains the name of a Java module to execute.
  `void` | `setName​(java.lang.String name)` | Sets this element's name attribute, which is typically used by the linker to create an executable file with a similar name.
  `java.lang.String` | `toString()` | Returns this element's information in jlink launcher format: name`=`module or name`=`module`/`mainclass.
  `void` | `validate()` | Verifies this element's state.

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

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

- ## Constructor Details

  - ### Launcher

    public Launcher()
    Creates a new, unconfigured element.

  - ### Launcher

    public Launcher​(java.lang.String textSpec)
    Creates a new element from a `jlink`-compatible string specifier, which must take the form name`=`module or name`=`module`/`mainclass.
    Parameters:
      `textSpec` - name, module, and optional main class, as described above
    Throws:
      `java.lang.NullPointerException` - if argument is `null`
      `BuildException` - if argument does not conform to above requirements

- ## Method Details

  - ### getName

    public java.lang.String getName()
    Returns this element's name attribute, typically used as the basis of an executable file name.
    Returns:
      this element's name
    See Also:
      `setName(String)`

  - ### setName

    public void setName​(java.lang.String name)
    Sets this element's name attribute, which is typically used by the linker to create an executable file with a similar name. Thus, the name should contain only characters safe for file names.
    Parameters:
      `name` - name of launcher

  - ### getModule

    public java.lang.String getModule()
    Returns the attribute of this element which contains the name of the Java module to execute.
    Returns:
      this element's module name

  - ### setModule

    public void setModule​(java.lang.String module)
    Sets the attribute of this element which contains the name of a Java module to execute.
    Parameters:
      `module` - name of module to execute

  - ### getMainClass

    public java.lang.String getMainClass()
    Returns the attribute of this element which contains the main class to execute in this element's module, if that module doesn't define its main class.
    Returns:
      name of main class to execute

  - ### setMainClass

    public void setMainClass​(java.lang.String className)
    Sets the attribute which contains the main class to execute in this element's module, if that module doesn't define its main class.
    Parameters:
      `className` - name of class to execute

  - ### validate

    public void validate()
    Verifies this element's state.
    Throws:
      `BuildException` - if name or module is not set

  - ### toString

    public java.lang.String toString()
    Returns this element's information in jlink launcher format: name`=`module or name`=`module`/`mainclass.
    Overrides:
      `toString` in class `java.lang.Object`
    Returns:
      name, module and optional main class in jlink format