org.springframework.boot.loader.jar
Class RandomAccessJarFile
java.lang.Object
java.util.zip.ZipFile
java.util.jar.JarFile
org.springframework.boot.loader.jar.RandomAccessJarFile
public class RandomAccessJarFile
- extends JarFile
A Jar file that can loaded from a RandomAccessDataFile. This class extends and
behaves in the same was a the standard JDK JarFile the following additional
functionality.
- Jar entries can be
filtered during construction and new
filtered files can be created from
existing files.
- A nested
JarFile can be
obtained based on any directory
entry.
- A nested
JarFile can be
obtained for embedded JAR files
(as long as their entry is not compressed).
- Entry data can be accessed as
RandomAccessData.
- Author:
- Phillip Webb
LOCSIG
public static final long LOCSIG
- See Also:
- Constant Field Values
EXTSIG
public static final long EXTSIG
- See Also:
- Constant Field Values
CENSIG
public static final long CENSIG
- See Also:
- Constant Field Values
ENDSIG
public static final long ENDSIG
- See Also:
- Constant Field Values
LOCHDR
public static final int LOCHDR
- See Also:
- Constant Field Values
EXTHDR
public static final int EXTHDR
- See Also:
- Constant Field Values
CENHDR
public static final int CENHDR
- See Also:
- Constant Field Values
ENDHDR
public static final int ENDHDR
- See Also:
- Constant Field Values
LOCVER
public static final int LOCVER
- See Also:
- Constant Field Values
LOCFLG
public static final int LOCFLG
- See Also:
- Constant Field Values
LOCHOW
public static final int LOCHOW
- See Also:
- Constant Field Values
LOCTIM
public static final int LOCTIM
- See Also:
- Constant Field Values
LOCCRC
public static final int LOCCRC
- See Also:
- Constant Field Values
LOCSIZ
public static final int LOCSIZ
- See Also:
- Constant Field Values
LOCLEN
public static final int LOCLEN
- See Also:
- Constant Field Values
LOCNAM
public static final int LOCNAM
- See Also:
- Constant Field Values
LOCEXT
public static final int LOCEXT
- See Also:
- Constant Field Values
EXTCRC
public static final int EXTCRC
- See Also:
- Constant Field Values
EXTSIZ
public static final int EXTSIZ
- See Also:
- Constant Field Values
EXTLEN
public static final int EXTLEN
- See Also:
- Constant Field Values
CENVEM
public static final int CENVEM
- See Also:
- Constant Field Values
CENVER
public static final int CENVER
- See Also:
- Constant Field Values
CENFLG
public static final int CENFLG
- See Also:
- Constant Field Values
CENHOW
public static final int CENHOW
- See Also:
- Constant Field Values
CENTIM
public static final int CENTIM
- See Also:
- Constant Field Values
CENCRC
public static final int CENCRC
- See Also:
- Constant Field Values
CENSIZ
public static final int CENSIZ
- See Also:
- Constant Field Values
CENLEN
public static final int CENLEN
- See Also:
- Constant Field Values
CENNAM
public static final int CENNAM
- See Also:
- Constant Field Values
CENEXT
public static final int CENEXT
- See Also:
- Constant Field Values
CENCOM
public static final int CENCOM
- See Also:
- Constant Field Values
CENDSK
public static final int CENDSK
- See Also:
- Constant Field Values
CENATT
public static final int CENATT
- See Also:
- Constant Field Values
CENATX
public static final int CENATX
- See Also:
- Constant Field Values
CENOFF
public static final int CENOFF
- See Also:
- Constant Field Values
ENDSUB
public static final int ENDSUB
- See Also:
- Constant Field Values
ENDTOT
public static final int ENDTOT
- See Also:
- Constant Field Values
ENDSIZ
public static final int ENDSIZ
- See Also:
- Constant Field Values
ENDOFF
public static final int ENDOFF
- See Also:
- Constant Field Values
ENDCOM
public static final int ENDCOM
- See Also:
- Constant Field Values
RandomAccessJarFile
public RandomAccessJarFile(File file,
JarEntryFilter... filters)
throws IOException
- Create a new
RandomAccessJarFile backed by the specified file.
- Parameters:
file - the root jar filefilters - an optional set of jar entry filters
- Throws:
IOException
RandomAccessJarFile
public RandomAccessJarFile(RandomAccessDataFile file,
JarEntryFilter... filters)
throws IOException
- Create a new
RandomAccessJarFile backed by the specified file.
- Parameters:
file - the root jar filefilters - an optional set of jar entry filters
- Throws:
IOException
getRootJarFile
protected final RandomAccessDataFile getRootJarFile()
getManifest
public Manifest getManifest()
throws IOException
- Overrides:
getManifest in class JarFile
- Throws:
IOException
entries
public Enumeration<JarEntry> entries()
- Overrides:
entries in class JarFile
getJarEntry
public JarEntry getJarEntry(String name)
- Overrides:
getJarEntry in class JarFile
getEntry
public ZipEntry getEntry(String name)
- Overrides:
getEntry in class JarFile
getInputStream
public InputStream getInputStream(ZipEntry ze)
throws IOException
- Overrides:
getInputStream in class JarFile
- Throws:
IOException
getNestedJarFile
public RandomAccessJarFile getNestedJarFile(ZipEntry ze,
JarEntryFilter... filters)
throws IOException
- Return a nested
RandomAccessJarFile loaded from the specified entry.
- Parameters:
ze - the zip entryfilters - an optional set of jar entry filters to be applied
- Returns:
- a
RandomAccessJarFile for the entry
- Throws:
IOException
getFilteredJarFile
public RandomAccessJarFile getFilteredJarFile(JarEntryFilter... filters)
throws IOException
- Return a new jar based on the filtered contents of this file.
- Parameters:
filters - the set of jar entry filters to be applied
- Returns:
- a filtered
RandomAccessJarFile
- Throws:
IOException
getName
public String getName()
- Overrides:
getName in class ZipFile
size
public int size()
- Overrides:
size in class ZipFile
close
public void close()
throws IOException
- Overrides:
close in class ZipFile
- Throws:
IOException
toString
public String toString()
- Overrides:
toString in class Object
getUrl
public URL getUrl()
throws MalformedURLException
- Return a URL that can be used to access this JAR file. NOTE: the specified URL
cannot be serialized and or cloned.
- Returns:
- the URL
- Throws:
MalformedURLException
Copyright © 2013. All Rights Reserved.