Class MultiReleaseJarFile

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    public class MultiReleaseJarFile
    extends java.lang.Object
    implements java.io.Closeable

    Utility class to handle a Multi Release Jar file

    • Constructor Detail

      • MultiReleaseJarFile

        public MultiReleaseJarFile​(java.io.File file)
                            throws java.io.IOException
        Construct a multi release jar file for the current JVM version, ignoring directories.
        Parameters:
        file - The file to open
        Throws:
        java.io.IOException - if the jar file cannot be read
      • MultiReleaseJarFile

        public MultiReleaseJarFile​(java.io.File file,
                                   int javaPlatform,
                                   boolean includeDirectories)
                            throws java.io.IOException
        Construct a multi release jar file
        Parameters:
        file - The file to open
        javaPlatform - The JVM platform to apply when selecting a version.
        includeDirectories - true if any directory entries should not be ignored
        Throws:
        java.io.IOException - if the jar file cannot be read
    • Method Detail

      • isMultiRelease

        public boolean isMultiRelease()
        Returns:
        true IFF the jar is a multi release jar
      • getVersion

        public int getVersion()
        Returns:
        The major version applied to this jar for the purposes of selecting entries
      • getEntry

        public MultiReleaseJarFile.VersionedJarEntry getEntry​(java.lang.String name)
        Get a versioned resource entry by name
        Parameters:
        name - The unversioned name of the resource
        Returns:
        The versioned entry of the resource
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        java.io.IOException
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object