public class ExplodedArchive extends Object implements Archive
Archive
implementation backed by an exploded archive directory.Archive.Entry, Archive.EntryFilter
Constructor and Description |
---|
ExplodedArchive(File root)
Create a new
ExplodedArchive instance. |
ExplodedArchive(File root,
boolean recursive)
Create a new
ExplodedArchive instance. |
Modifier and Type | Method and Description |
---|---|
Manifest |
getManifest()
Returns the manifest of the archive.
|
protected Archive |
getNestedArchive(Archive.Entry entry) |
Iterator<Archive> |
getNestedArchives(Archive.EntryFilter searchFilter,
Archive.EntryFilter includeFilter)
Returns nested
Archive s for entries that match the specified filters. |
URL |
getUrl()
Returns a URL that can be used to load the archive.
|
boolean |
isExploded()
Return if the archive is exploded (already unpacked).
|
Iterator<Archive.Entry> |
iterator()
Return a new iterator for the archive entries.
|
String |
toString() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
close, getNestedArchives
forEach, spliterator
public ExplodedArchive(File root)
ExplodedArchive
instance.root
- the root folderpublic ExplodedArchive(File root, boolean recursive)
ExplodedArchive
instance.root
- the root folderrecursive
- if recursive searching should be used to locate the manifest.
Defaults to true
, folders with a large tree might want to set this to
false
.public URL getUrl() throws MalformedURLException
Archive
getUrl
in interface Archive
MalformedURLException
- if the URL is malformedpublic Manifest getManifest() throws IOException
Archive
getManifest
in interface Archive
IOException
- if the manifest cannot be readpublic Iterator<Archive> getNestedArchives(Archive.EntryFilter searchFilter, Archive.EntryFilter includeFilter) throws IOException
Archive
Archive
s for entries that match the specified filters.getNestedArchives
in interface Archive
searchFilter
- filter used to limit when additional sub-entry searching is
required or null
if all entries should be considered.includeFilter
- filter used to determine which entries should be included in
the result or null
if all entries should be includedIOException
- on IO errorpublic Iterator<Archive.Entry> iterator()
Archive
iterator
in interface Iterable<Archive.Entry>
iterator
in interface Archive
Iterable.iterator()
protected Archive getNestedArchive(Archive.Entry entry) throws IOException
IOException
public boolean isExploded()
Archive
isExploded
in interface Archive