StandardProgramGroupHandle (install4j API)
Description: declaration: package: com.install4j.api.test.ui, interface: StandardProgramGroupHandle

# Interface StandardProgramGroupHandle

public interface StandardProgramGroupHandle
Drives the "Standard program group" system screen. The screen has two platform-specific variants: Windows shows a Start-menu program-group selector with an "install for all users" toggle, Unix shows a symlink directory chooser.

Reach this handle via `ScreenHandle.standardProgramGroup()`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `StandardProgramGroupHandle`
  `assertAllUsers(boolean expected)`
  `StandardProgramGroupHandle`
  `assertLinkDirectory(File expected)`
  `StandardProgramGroupHandle`
  `assertProgramGroupDisabled()`
  `StandardProgramGroupHandle`
  `assertProgramGroupEnabled()`
  `StandardProgramGroupHandle`
  `assertProgramGroupName(String expected)`
  `File`
  `getLinkDirectory()`
  The symlink directory typed into the selector (Unix only, `null` on Windows).
  `String`
  `getProgramGroupName()`
  The program-group name typed into the selector (Windows only, empty on Unix).
  `boolean`
  `isAllUsers()`
  Whether the "install for all users" toggle is selected (Windows only, `false` on Unix).
  `boolean`
  `isProgramGroupEnabled()`
  State of the enable checkbox ("Create a program group" on Windows, "Create symlinks" on Unix).
  `boolean`
  `isWindowsVariant()`
  Whether the screen is rendering the Windows variant.
  `StandardProgramGroupHandle`
  `setAllUsers(boolean allUsers)`
  Toggle the "install for all users" checkbox.
  `StandardProgramGroupHandle`
  `setLinkDirectory(File directory)`
  Set the symlink directory.
  `StandardProgramGroupHandle`
  `setProgramGroupEnabled(boolean enabled)`
  Toggle the enable checkbox.
  `StandardProgramGroupHandle`
  `setProgramGroupName(String name)`
  Set the program-group name.

- ## Method Details

  - ### isWindowsVariant

    boolean isWindowsVariant()
    Whether the screen is rendering the Windows variant. `false` means the Unix variant.

  - ### isProgramGroupEnabled

    boolean isProgramGroupEnabled()
    State of the enable checkbox ("Create a program group" on Windows, "Create symlinks" on Unix).

  - ### setProgramGroupEnabled

    @NotNull StandardProgramGroupHandle setProgramGroupEnabled(boolean enabled)
    Toggle the enable checkbox.

  - ### assertProgramGroupEnabled

    @NotNull StandardProgramGroupHandle assertProgramGroupEnabled()

  - ### assertProgramGroupDisabled

    @NotNull StandardProgramGroupHandle assertProgramGroupDisabled()

  - ### getProgramGroupName

    @NotNull String getProgramGroupName()
    The program-group name typed into the selector (Windows only, empty on Unix).

  - ### setProgramGroupName

    @NotNull StandardProgramGroupHandle setProgramGroupName(@NotNull String name)
    Set the program-group name. No-op on Unix.

  - ### assertProgramGroupName

    @NotNull StandardProgramGroupHandle assertProgramGroupName(@NotNull String expected)

  - ### isAllUsers

    boolean isAllUsers()
    Whether the "install for all users" toggle is selected (Windows only, `false` on Unix).

  - ### setAllUsers

    @NotNull StandardProgramGroupHandle setAllUsers(boolean allUsers)
    Toggle the "install for all users" checkbox. No-op on Unix.

  - ### assertAllUsers

    @NotNull StandardProgramGroupHandle assertAllUsers(boolean expected)

  - ### getLinkDirectory

    @Nullable File getLinkDirectory()
    The symlink directory typed into the selector (Unix only, `null` on Windows).

  - ### setLinkDirectory

    @NotNull StandardProgramGroupHandle setLinkDirectory(@NotNull File directory)
    Set the symlink directory. No-op on Windows.

  - ### assertLinkDirectory

    @NotNull StandardProgramGroupHandle assertLinkDirectory(@NotNull File expected)