Interface AppImageLayout

All Known Subinterfaces:
ApplicationLayout, RuntimeLayout
All Known Implementing Classes:
AppImageLayout.Stub

public interface AppImageLayout
Generic app image directory layout. App image layout is a collection of files and directories with specific roles (executables, configuration files, etc.) sharing the same root directory. The layout is "unresolved" if the root directory is an empty string and "resolved" otherwise.
  • Method Details

    • runtimeDirectory

      Path runtimeDirectory()
      A path to Java runtime directory. The directory should have standard JDK subdirectories like "bin", "lib", etc.
      Returns:
      Java runtime sub-directory within this app image
    • rootDirectory

      Path rootDirectory()
      Root directory of this app image. It should normally be equal to Path.of("") for unresolved layout.
      Returns:
      the root directory of this app image
    • resolveAt

      AppImageLayout resolveAt(Path root)
      Creates a copy of this app image resolved at the given root directory.
      Parameters:
      root - path to a directory at which to resolve the layout
      Returns:
      a copy of this app image resolved at the given root directory
    • toPathGroup

      static PathGroup toPathGroup(AppImageLayout appImageLayout)
      Creates PathGroup object from the given AppImageLayout instance. It will call every non-static accessible method without parameters and with Path return type of the given AppImageLayout instance except rootDirectory() method.

      For every call, it will save the return value in the output PathGroup object under the key equals the name of a function used in the call.

      Parameters:
      appImageLayout - source layout object
      Returns:
      PathGroup object constructed from the given source layout object