public class ZipResourceStream extends AbstractResourceStream
NOTE 1. As a future improvement, cache a map of generated ZIP files for every directory and use a Watcher to detect modifications in this directory. Using ehcache would be good for that, but it's not in Wicket dependencies yet. No caching of the generated ZIP files is done yet.
NOTE 2. As a future improvement, implement getLastModified() and request ResourceStreamRequestTarget to generate Last-Modified and Expires HTTP headers. No HTTP cache headers are provided yet. See WICKET-385
Constructor and Description |
---|
ZipResourceStream(File dir)
Construct.
|
ZipResourceStream(File dir,
boolean recursive)
Construct.
|
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes the resource.
|
String |
getContentType()
Gets the mime type of this resource
|
InputStream |
getInputStream()
Gets the resource stream.
|
Time |
lastModifiedTime()
Gets the last time this modifiable thing changed.
|
Bytes |
length()
Gets the size of this resource
|
getLocale, getStyle, getVariation, setLocale, setStyle, setVariation
public ZipResourceStream(File dir, boolean recursive)
dir
- The directory where to look for files. The directory itself will not be included
in the ZIP.recursive
- If true, all subdirs will be zipped as wellpublic ZipResourceStream(File dir)
dir
- The directory where to look for files. The directory itself will not be included
in the ZIP.public void close() throws IOException
IResourceStream
IOException
IResourceStream.close()
public String getContentType()
IResourceStream
getContentType
in interface IResourceStream
getContentType
in class AbstractResourceStream
IResourceStream.getContentType()
public InputStream getInputStream() throws ResourceStreamNotFoundException
IResourceStream
ResourceStreamNotFoundException
IResourceStream.getInputStream()
public Bytes length()
IResourceStream
length
in interface IResourceStream
length
in class AbstractResourceStream
null
if unknownAbstractResourceStream.length()
public Time lastModifiedTime()
IModifiable
lastModifiedTime
in interface IModifiable
lastModifiedTime
in class AbstractResourceStream
Time
or
null
if that information is not availableAbstractResourceStream.lastModifiedTime()
Copyright © 2006–2022 Apache Software Foundation. All rights reserved.