org.restlet.engine.local
Class ZipEntryRepresentation
java.lang.Object
org.restlet.representation.Variant
org.restlet.representation.RepresentationInfo
org.restlet.representation.Representation
org.restlet.representation.StreamRepresentation
org.restlet.engine.local.ZipEntryRepresentation
public class ZipEntryRepresentation
- extends StreamRepresentation
An entry in a Zip/JAR file.
It is very important release() is called to close the underlying Zip
file.
- Author:
- Remi Dewitte
|
Method Summary |
InputStream |
getStream()
Returns a stream with the representation's content. |
void |
release()
Releases the representation and all associated objects like streams,
channels or files which are used to produce its content, transient or
not. |
void |
write(OutputStream outputStream)
Writes the representation to a byte stream. |
| Methods inherited from class org.restlet.representation.Representation |
append, exhaust, getAvailableSize, getDigest, getDisposition, getExpirationDate, getRange, getRegistration, getSize, getText, hasKnownSize, isAvailable, isEmpty, isSelectable, isTransient, setAvailable, setDigest, setDisposition, setExpirationDate, setListener, setRange, setSize, setTransient |
| Methods inherited from class org.restlet.representation.Variant |
createClientInfo, equals, getCharacterSet, getEncodings, getLanguages, getLocationRef, getMediaType, includes, isCompatible, setCharacterSet, setEncodings, setLanguages, setLocationRef, setLocationRef, setMediaType, toString |
zipFile
protected final ZipFile zipFile
- The Zip file.
entry
protected final ZipEntry entry
- The Zip entry.
ZipEntryRepresentation
public ZipEntryRepresentation(MediaType mediaType,
ZipFile zipFile,
ZipEntry entry)
- Constructor.
- Parameters:
mediaType - The entry media type.zipFile - The parent Zip archive file.entry - The Zip entry.
release
public void release()
- Description copied from class:
Representation
- Releases the representation and all associated objects like streams,
channels or files which are used to produce its content, transient or
not. This method must be systematically called when the representation is
no longer intended to be used. The framework automatically calls back
this method via its connectors on the server-side when sending responses
with an entity and on the client-side when sending a request with an
entity. By default, it calls the
Representation.setAvailable(boolean) method
with "false" as a value.
Note that for transient socket-bound representations, calling this method
after consuming the whole content shouldn't prevent the reuse of
underlying socket via persistent connections for example. However, if the
content hasn't been read, or has been partially read, the impact should
be to discard the remaining content and to close the underlying
connections.
Therefore, if you are not interested in the content, or in the remaining
content, you should first call the Representation.exhaust() method or if this
could be too costly, you should instead explicitly abort the parent
request and the underlying connections using the Request.abort()
method or a shortcut one like
ServerResource.abort() or
Response.abort().
- Overrides:
release in class Representation
getStream
public InputStream getStream()
throws IOException
- Description copied from class:
Representation
- Returns a stream with the representation's content. This method is
ensured to return a fresh stream for each invocation unless it is a
transient representation, in which case null is returned.
- Specified by:
getStream in class Representation
- Returns:
- A stream with the representation's content.
- Throws:
IOException
write
public void write(OutputStream outputStream)
throws IOException
- Description copied from class:
Representation
- Writes the representation to a byte stream. This method is ensured to
write the full content for each invocation unless it is a transient
representation, in which case an exception is thrown.
Note that the class implementing this method shouldn't flush or close the
given OutputStream after writing to it as this will be handled by
the Restlet connectors automatically.
- Specified by:
write in class Representation
- Parameters:
outputStream - The output stream.
- Throws:
IOException
Copyright © 2005-2014 Restlet.