UpdateDescriptorEntry (install4j API)
Description: declaration: package: com.install4j.api.update, interface: UpdateDescriptorEntry

Package com.install4j.api.update

# Interface UpdateDescriptorEntry

All Superinterfaces:
  `Serializable`

public interface UpdateDescriptorEntry extends Serializable
Contains information about a single media file available for update. Instances of this class are returned by an `UpdateDescriptor`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `checkVersionCompatible(String version)`
  Checks if a version is compatible with the minimum and maximum updatable versions and lower than the new version of this update descriptor entry.
  `String`
  `getAdditionalAttribute(String attributeName, String defaultValue)`
  Returns an additional attribute that you have added to the `entry` element in the `updates.xml` file represented by this instance.
  `String`
  `getBundledJre()`
  Returns the file name of the bundled JRE.
  `String`
  `getComment()`
  Returns the comment for this entry.
  `String`
  `getFileName()`
  Returns the file name of the update installer.
  `long`
  `getFileSize()`
  Returns the file size of the update installer in bytes.
  `String`
  `getFileSizeVerbose()`
  Returns the file size of the update installer as a verbose string.
  `String`
  `getJreMaxVersion()`
  Returns the required maximum version of the JRE.
  `String`
  `getJreMinVersion()`
  Returns the required minimum version of the JRE.
  `String`
  `getMd5Sum()`
  Returns the MD5 sum of the file if the option to calculate checksums has been enabled.
  `String`
  `getNewMediaFileId()`
  Returns the media file ID of the update installer that is represented by this entry.
  `String`
  `getNewVersion()`
  Returns the version of the available update.
  `String`
  `getSha256Sum()`
  Returns the SHA-256 sum of the file if the option to calculate checksums has been enabled.
  `String`
  `getTargetMediaFileId()`
  Returns the media file ID for which this update is suitable.
  `String`
  `getUpdatableVersionMax()`
  Returns the maximum version that is eligible for an update.
  `String`
  `getUpdatableVersionMin()`
  Returns the minimum version that is eligible for an update.
  `URL`
  `getURL()`
  Returns the full URL from which the update installer can be downloaded.
  `boolean`
  `isArchive()`
  Returns whether the media file is an installer or an archive.
  `boolean`
  `isDownloaded()`
  Checks if an updater with this version is already downloaded and scheduled for installation by a "Schedule update installation" action.
  `boolean`
  `isSingleBundle()`
  Returns whether the media file is a macOS single bundle archive.

- ## Method Details

  - ### getTargetMediaFileId

    String getTargetMediaFileId()
    Returns the media file ID for which this update is suitable.

    Note: install4j creates one update descriptor entry for each media file. If you discontinue a media file, you can duplicate a suitable update descriptor entry in `updates.xml` and set its target media file ID to that of the discontinued media file.

    Returns:
      the media file ID

  - ### getUpdatableVersionMin

    String getUpdatableVersionMin()
    Returns the minimum version that is eligible for an update.

    By default, this is the empty string. If you want to set a minimum version, you can change the `updatableVersionMin` attribute on the corresponding `entry` element in the `updates.xml` file.

    Returns:
      the minimum version

  - ### getUpdatableVersionMax

    String getUpdatableVersionMax()
    Returns the maximum version that is eligible for an update.

    By default, this is the empty string. If you want to set a maximum version, you can change the `updatableVersionMax` attribute on the corresponding `entry` element in the `updates.xml` file.

    Returns:
      the maximum version

  - ### getFileName

    String getFileName()
    Returns the file name of the update installer.
    Returns:
      the file name

  - ### getURL

    URL getURL()
    Returns the full URL from which the update installer can be downloaded. This includes the file name and is based on the `base url` of the `update descriptor`.
    Returns:
      the URL

  - ### getNewVersion

    String getNewVersion()
    Returns the version of the available update.
    Returns:
      the new version

  - ### getNewMediaFileId

    String getNewMediaFileId()
    Returns the media file ID of the update installer that is represented by this entry.
    Returns:
      the media file ID

  - ### isArchive

    boolean isArchive()
    Returns whether the media file is an installer or an archive.
    Returns:
      `true` for an archive

  - ### isSingleBundle

    boolean isSingleBundle()
    Returns whether the media file is a macOS single bundle archive.
    Returns:
      `true` for a single bundle archive

  - ### getFileSize

    long getFileSize()
    Returns the file size of the update installer in bytes. The size is determined at compile time.
    Returns:
      the file size in bytes

  - ### getSha256Sum

    String getSha256Sum()
    Returns the SHA-256 sum of the file if the option to calculate checksums has been enabled. That option is found on the General Settings->Media File Options step in the install4j IDE. If the option is disabled, this method returns null.
    Returns:
      the SHA-256 sum as a hex string or null if checksums are not calculated

  - ### getMd5Sum

    String getMd5Sum()
    Returns the MD5 sum of the file if the option to calculate checksums has been enabled. That option is found on the General Settings->Media File Options step in the install4j IDE. If the option is disabled, this method returns null.
    Returns:
      the MD5 sum as a hex string or null if checksums are not calculated

  - ### getFileSizeVerbose

    String getFileSizeVerbose()
    Returns the file size of the update installer as a verbose string. The size is determined at compile time.
    Returns:
      the file size as a string

  - ### getBundledJre

    String getBundledJre()
    Returns the file name of the bundled JRE. If no JRE is bundled, this is the empty string.
    Returns:
      the file name of the bundled JRE or the empty string

  - ### getJreMinVersion

    String getJreMinVersion()
    Returns the required minimum version of the JRE.
    Returns:
      the minimum version or the empty string

  - ### getJreMaxVersion

    String getJreMaxVersion()
    Returns the required maximum version of the JRE.
    Returns:
      the maximum version or the empty string

  - ### getComment

    String getComment()
    Returns the comment for this entry. By default, the comment is empty. You can add comments in the `comment` elements in the `updates.xml` file. The comment with the language that matches the current locale is returned. If there is no matching language, the comment for the principal language is returned.

    The default standalone update downloader offers the user a hyperlink to display this comment for an available update.

    Returns:
      the comment

  - ### getAdditionalAttribute

    String getAdditionalAttribute(String attributeName, String defaultValue)
    Returns an additional attribute that you have added to the `entry` element in the `updates.xml` file represented by this instance.
    Parameters:
      `attributeName` - the name of the additional attribute
      `defaultValue` - the default value to be returned if the attribute does not exist
    Returns:
      the attribute value

  - ### checkVersionCompatible

    boolean checkVersionCompatible(String version)
    Checks if a version is compatible with the minimum and maximum updatable versions and lower than the new version of this update descriptor entry. In that case, this update descriptor entry is a candidate for downloading an update when only considering version numbers.
    Parameters:
      `version` - the version
    Returns:
      `true` if compatible

  - ### isDownloaded

    boolean isDownloaded()
    Checks if an updater with this version is already downloaded and scheduled for installation by a "Schedule update installation" action.
    Returns:
      `true` if scheduled