public class JarAnalyzer extends Object
closeQuietly()
method should be called to
release the associated file handle.
Typical usage:
JarAnalyzer jar = new JarAnalyzer( jarFile ); try { // do some analysis, such as: jarClasses = jarClassAnalyzer.analyze( jar ); } finally { jar.closeQuietly(); } // use jar.getJarData() in some way, or the data returned by the JAR analyzer. jar itself can no longer be used.Note: that the actual data is separated from this class by design to minimise the chance of forgetting to close the JAR file. The
JarData
class exposed, as well as any data returned by actual
analyzers that use this class, can be used safely once this class is out of scope.Constructor and Description |
---|
JarAnalyzer(File file)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
closeQuietly()
Close the associated JAR file, ignoring any errors that may occur.
|
List<JarEntry> |
filterEntries(Pattern pattern)
Filter a list of JAR entries against the pattern.
|
List<JarEntry> |
getClassEntries()
Get all the classes in the JAR.
|
List<JarEntry> |
getClassEntries(List<JarEntry> entryList)
Get all the classes in the entry list.
|
List<JarEntry> |
getEntries()
Get all the contained files in the JAR.
|
InputStream |
getEntryInputStream(JarEntry entry)
Get the data for an individual entry in the JAR.
|
File |
getFile()
Get the file that was opened by this analyzer.
|
JarData |
getJarData() |
List<JarEntry> |
getMavenPomEntries()
Get all the Maven POM entries in the JAR.
|
List<JarEntry> |
getVersionEntries()
Get all the version text files in the JAR.
|
public JarAnalyzer(File file) throws IOException
closeQuietly()
.file
- the JAR file to openIOException
- if there is a problem opening the JAR file, or reading the manifest. The JAR file
will be closed if this occurs.public InputStream getEntryInputStream(JarEntry entry) throws IOException
entry
- the JAR entry to read fromIOException
- if there is a problem opening the individual entrypublic void closeQuietly()
public List<JarEntry> filterEntries(Pattern pattern)
pattern
- the pattern to filter againstJarEntry
elementspublic List<JarEntry> getClassEntries()
JarEntry
elementspublic List<JarEntry> getClassEntries(List<JarEntry> entryList)
entryList
- the entry list.public List<JarEntry> getMavenPomEntries()
JarEntry
elementspublic List<JarEntry> getVersionEntries()
JarEntry
elementspublic List<JarEntry> getEntries()
JarEntry
elementspublic File getFile()
public JarData getJarData()
Copyright © 2002–2024 The Apache Software Foundation. All rights reserved.