APIdia Launch Partner
Top Description Inners Fields Constructors Methods
jdk.jpackage.internal

pack-priv final Class DesktopIntegration

extends ShellCustomAction
Class Inheritance
Static Imports
jdk.jpackage.internal.ApplicationImageUtils.createLauncherIconResource, jdk.jpackage.internal.model.LauncherShortcut.toRequest

Helper to create files for desktop integration.

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static interface
private static interface
private class
DesktopIntegration.ShellCommands

Shell commands to integrate something with desktop.

Field Summary

Modifier and TypeField and Description
private final List<DesktopIntegration.LinuxFileAssociation>
private static final String
private static final String
private static final String
private final Optional<InstallableFile>
private final Map<String, String>
private final OverridableResource
private final BuildEnv
private final Optional<InstallableFile>
private final Optional<OverridableResource>
private final LinuxLauncher
private final InstallableFile
private final List<DesktopIntegration>
private final LinuxPackage
private static final List<String>
private static final String

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
private void
private void
pack-priv static ShellCustomAction
private Map<String, String>
private InstallableFile
createDesktopFile(String fileName)

Creates desktop integration file.

private void
protected Map<String, String>
private List<String>
private static int
private static int
normalizeIconSize(int iconSize)

protected List<String>
pack-priv List<String>
private List<String>
private void
Inherited from jdk.jpackage.internal.ShellCustomAction:
createmergeReplacementDatanopstringifyShellCommandsstringifyShellCommandsstringifyTextFile

Field Detail

associationsback to summary
private final List<DesktopIntegration.LinuxFileAssociation> associations
COMMANDS_INSTALLback to summary
private static final String COMMANDS_INSTALL
COMMANDS_UNINSTALLback to summary
private static final String COMMANDS_UNINSTALL
COMMON_SCRIPTSback to summary
private static final String COMMON_SCRIPTS
desktopFileback to summary
private final Optional<InstallableFile> desktopFile
desktopFileDataback to summary
private final Map<String, String> desktopFileData
desktopFileResourceback to summary
private final OverridableResource desktopFileResource
envback to summary
private final BuildEnv env
iconFileback to summary
private final Optional<InstallableFile> iconFile
iconResourceback to summary
private final Optional<OverridableResource> iconResource
launcherback to summary
private final LinuxLauncher launcher
mimeInfoFileback to summary
private final InstallableFile mimeInfoFile
nestedIntegrationsback to summary
private final List<DesktopIntegration> nestedIntegrations
pkgback to summary
private final LinuxPackage pkg
REPLACEMENT_STRING_IDSback to summary
private static final List<String> REPLACEMENT_STRING_IDS
SCRIPTSback to summary
private static final String SCRIPTS

Constructor Detail

DesktopIntegrationback to summary
private DesktopIntegration(BuildEnv env, LinuxPackage pkg, LinuxLauncher launcher)

Method Detail

addFileAssociationIconFilesback to summary
private void addFileAssociationIconFiles(DesktopIntegration.ShellCommands shellCommands) throws IOException
appendFileAssociationback to summary
private void appendFileAssociation(XMLStreamWriter xml, DesktopIntegration.LinuxFileAssociation fa) throws XMLStreamException
createback to summary
pack-priv static ShellCustomAction create(BuildEnv env, Package pkg)
createDataForDesktopFileback to summary
private Map<String, String> createDataForDesktopFile()
createDesktopFileback to summary
private InstallableFile createDesktopFile(String fileName)

Creates desktop integration file. xml, icon, etc. Returned instance: - srcPath(): path where it should be placed at package build time; - installPath(): path where it should be installed by package manager;

createFileAssociationsMimeInfoFileback to summary
private void createFileAssociationsMimeInfoFile() throws IOException
createImplback to summary
protected Map<String, String> createImpl() throws IOException

Implements abstract jdk.jpackage.internal.ShellCustomAction.createImpl.

Annotations
@Override
getMimeTypeNamesFromFileAssociationsback to summary
private List<String> getMimeTypeNamesFromFileAssociations()
getSquareSizeOfImageback to summary
private static int getSquareSizeOfImage(Path path)
normalizeIconSizeback to summary
private static int normalizeIconSize(int iconSize)
replacementStringIdsback to summary
protected List<String> replacementStringIds()

Overrides jdk.jpackage.internal.ShellCustomAction.replacementStringIds.

Annotations
@Override
requiredPackagesback to summary
pack-priv List<String> requiredPackages()

Overrides jdk.jpackage.internal.ShellCustomAction.requiredPackages.

Annotations
@Override
requiredPackagesSelfback to summary
private List<String> requiredPackagesSelf()
saveDesktopFileback to summary
private void saveDesktopFile(Map<String, String> data) throws IOException
jdk.jpackage.internal back to summary

private Interface DesktopIntegration.LinuxFileAssociation

extends FileAssociation, LinuxFileAssociationMixin

Method Summary

Modifier and TypeMethod and Description
public static DesktopIntegration.LinuxFileAssociation
private static int
Inherited from jdk.jpackage.internal.DesktopIntegration.LinuxFileAssociationMixin:
iconSize
Inherited from jdk.jpackage.internal.model.FileAssociation:
descriptionextensionhasIconiconmimeType

Method Detail

createback to summary
public static DesktopIntegration.LinuxFileAssociation create(FileAssociation fa)
getIconSizeback to summary
private static int getIconSize(FileAssociation fa)
jdk.jpackage.internal back to summary

private Interface DesktopIntegration.LinuxFileAssociationMixin

Known Direct Subinterfaces
jdk.jpackage.internal.DesktopIntegration.LinuxFileAssociation
Known Direct Implementers
jdk.jpackage.internal.DesktopIntegration.LinuxFileAssociationMixin.Stub

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static record

Method Summary

Modifier and TypeMethod and Description
public int

Method Detail

iconSizeback to summary
public int iconSize()
jdk.jpackage.internal back to summary

public final Record DesktopIntegration.LinuxFileAssociationMixin.Stub

extends Record
implements LinuxFileAssociationMixin
Class Inheritance
All Implemented Interfaces
jdk.jpackage.internal.DesktopIntegration.LinuxFileAssociationMixin
Record Components
iconSize:int 

Field Summary

Modifier and TypeField and Description
private final int
iconSize

Record Component accessed by iconSize().

Constructor Summary

AccessConstructor and Description
public
Stub(int iconSize)

Method Summary

Modifier and TypeMethod and Description
public final boolean
equals(Object o)

Implements abstract java.lang.Record.equals.

Indicates whether some other object is "equal to" this one.

public final int
hashCode()

Implements abstract java.lang.Record.hashCode.

Returns a hash code value for the record.

public int
public final String
toString()

Implements abstract java.lang.Record.toString.

Returns a string representation of the record.

Field Detail

iconSizeback to summary
private final int iconSize

Record Component accessed by iconSize().

Constructor Detail

Stubback to summary
public Stub(int iconSize)

Method Detail

equalsback to summary
public final boolean equals(Object o)

Implements abstract java.lang.Record.equals.

Doc from java.lang.Record.equals.

Indicates whether some other object is "equal to" this one. In addition to the general contract of Object.equals, record classes must further obey the invariant that when a record instance is "copied" by passing the result of the record component accessor methods to the canonical constructor, as follows:

    R copy = new R(r.c1(), r.c2(), ..., r.cn());
then it must be the case that r.equals(copy).
hashCodeback to summary
public final int hashCode()

Implements abstract java.lang.Record.hashCode.

Doc from java.lang.Record.hashCode.

Returns a hash code value for the record. Obeys the general contract of Object.hashCode. For records, hashing behavior is constrained by the refined contract of Record.equals, so that any two records created from the same components must have the same hash code.

iconSizeback to summary
public int iconSize()

Record Component getter of iconSize.

Implements jdk.jpackage.internal.DesktopIntegration.LinuxFileAssociationMixin.iconSize.

toStringback to summary
public final String toString()

Implements abstract java.lang.Record.toString.

Doc from java.lang.Record.toString.

Returns a string representation of the record. In accordance with the general contract of Object#toString(), the toString method returns a string that "textually represents" this record. The result should be a concise but informative representation that is easy for a person to read.

In addition to this general contract, record classes must further participate in the invariant that any two records which are equal must produce equal strings. This invariant is necessarily relaxed in the rare case where corresponding equal component values might fail to produce equal strings for themselves.

jdk.jpackage.internal back to summary

private Class DesktopIntegration.ShellCommands

extends Object
Class Inheritance

Shell commands to integrate something with desktop.

Field Summary

Modifier and TypeField and Description
private String
private String
private List<String>
private String
private String
private List<String>

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
pack-priv void
addIcon(String mimeType, Path iconFile, int imgSize)

pack-priv void
pack-priv void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

registerDesktopFileCmdback to summary
private String registerDesktopFileCmd
registerFileAssociationsCmdback to summary
private String registerFileAssociationsCmd
registerIconCmdsback to summary
private List<String> registerIconCmds
unregisterDesktopFileCmdback to summary
private String unregisterDesktopFileCmd
unregisterFileAssociationsCmdback to summary
private String unregisterFileAssociationsCmd
unregisterIconCmdsback to summary
private List<String> unregisterIconCmds

Constructor Detail

ShellCommandsback to summary
pack-priv ShellCommands()

Method Detail

addIconback to summary
pack-priv void addIcon(String mimeType, Path iconFile, int imgSize)
applyToback to summary
pack-priv void applyTo(Map<String, String> data)
setFileAssociationsback to summary
pack-priv void setFileAssociations()