Interface Manifest


  • public interface Manifest
    Represents the manifest file of a JAR file.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      Manifest attributes​(java.util.Map<java.lang.String,​?> attributes)
      Adds content to the main attributes of the manifest.
      Manifest attributes​(java.util.Map<java.lang.String,​?> attributes, java.lang.String sectionName)
      Adds content to the given section of the manifest.
      Manifest from​(java.lang.Object... mergePath)
      Specifies other manifests to be merged into this manifest.
      Manifest from​(java.lang.Object mergePath, Closure<?> closure)
      Specifies other manifests to be merged into this manifest.
      Manifest from​(java.lang.Object mergePath, Action<ManifestMergeSpec> action)
      Specifies other manifests to be merged into this manifest.
      Attributes getAttributes()
      Returns the main attributes of the manifest.
      Manifest getEffectiveManifest()
      Returns a new manifest instance where all the attribute values are expanded (e.g.
      java.util.Map<java.lang.String,​Attributes> getSections()
      Returns the sections of the manifest (excluding the main section).
      Manifest writeTo​(java.lang.Object path)
      Writes the manifest into a file.
    • Method Detail

      • getAttributes

        Attributes getAttributes()
        Returns the main attributes of the manifest.
      • getSections

        java.util.Map<java.lang.String,​Attributes> getSections()
        Returns the sections of the manifest (excluding the main section).
        Returns:
        A map with the sections, where the key represents the section name and value the section attributes.
      • attributes

        Manifest attributes​(java.util.Map<java.lang.String,​?> attributes)
                     throws ManifestException
        Adds content to the main attributes of the manifest.
        Parameters:
        attributes - The values to add to the main attributes. The values can be any object. For evaluating the value objects their Object.toString() method is used. This is done lazily either before writing or when getEffectiveManifest() is called.
        Returns:
        this
        Throws:
        ManifestException - If a key is invalid according to the manifest spec or if a key or value is null.
      • attributes

        Manifest attributes​(java.util.Map<java.lang.String,​?> attributes,
                            java.lang.String sectionName)
                     throws ManifestException
        Adds content to the given section of the manifest.
        Parameters:
        attributes - The values to add to the section. The values can be any object. For evaluating the value objects their Object.toString() method is used. This is done lazily either before writing or when getEffectiveManifest() is called.
        sectionName - The name of the section
        Returns:
        this
        Throws:
        ManifestException - If a key is invalid according to the manifest spec or if a key or value is null.
      • getEffectiveManifest

        Manifest getEffectiveManifest()
        Returns a new manifest instance where all the attribute values are expanded (e.g. their toString method is called). The returned manifest also contains all the attributes of the to be merged manifests specified in from(Object...).
      • writeTo

        Manifest writeTo​(java.lang.Object path)
        Writes the manifest into a file. The path's are resolved as defined by Project.files(Object...) The manifest will be encoded using the character set defined by the Jar.getManifestContentCharset() property.
        Parameters:
        path - The path of the file to write the manifest into.
        Returns:
        this
      • from

        Manifest from​(java.lang.Object... mergePath)
        Specifies other manifests to be merged into this manifest. A merge path can either be another instance of Manifest or a file path as interpreted by Project.file(Object). The merge is not happening instantaneously. It happens either before writing or when getEffectiveManifest() is called.
        Returns:
        this
      • from

        Manifest from​(java.lang.Object mergePath,
                      Action<ManifestMergeSpec> action)
        Specifies other manifests to be merged into this manifest. A merge path is interpreted as described in from(Object...). The merge is not happening instantaneously. It happens either before writing or when getEffectiveManifest() is called.
        Returns:
        this
        Since:
        5.0