Package org.eclipse.jetty.util
Class MultiReleaseJarFile
- java.lang.Object
-
- org.eclipse.jetty.util.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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
MultiReleaseJarFile.VersionedJarEntry
A versioned Jar entry
-
Constructor Summary
Constructors Constructor Description MultiReleaseJarFile(java.io.File file)
Construct a multi release jar file for the current JVM version, ignoring directories.MultiReleaseJarFile(java.io.File file, int javaPlatform, boolean includeDirectories)
Construct a multi release jar file
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
MultiReleaseJarFile.VersionedJarEntry
getEntry(java.lang.String name)
Get a versioned resource entry by nameint
getVersion()
boolean
isMultiRelease()
java.util.stream.Stream<MultiReleaseJarFile.VersionedJarEntry>
stream()
java.lang.String
toString()
-
-
-
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 openjavaPlatform
- 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
-
stream
public java.util.stream.Stream<MultiReleaseJarFile.VersionedJarEntry> stream()
- Returns:
- A stream of versioned entries from the jar, excluded any that are not applicable
-
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 interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- Throws:
java.io.IOException
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-