Class MultiReleaseJarFile

java.lang.Object
org.eclipse.jetty.util.MultiReleaseJarFile
All Implemented Interfaces:
Closeable, AutoCloseable

public class MultiReleaseJarFile extends Object implements Closeable

Utility class to handle a Multi Release Jar file

  • Constructor Details

    • MultiReleaseJarFile

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

      public MultiReleaseJarFile(File file, int javaPlatform, boolean includeDirectories) throws 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:
      IOException - if the jar file cannot be read
  • Method Details

    • 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
    • stream

      Returns:
      A stream of versioned entries from the jar, excluded any that are not applicable
    • getEntry

      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 IOException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Throws:
      IOException
    • toString

      public String toString()
      Overrides:
      toString in class Object