Package org.restlet.representation
Class FileRepresentation
java.lang.Object
org.restlet.representation.Variant
org.restlet.representation.RepresentationInfo
org.restlet.representation.Representation
org.restlet.representation.FileRepresentation
Representation based on a static file. Note that in order for Web clients to
display a download box upon reception of a file representation, it needs an
additional call to
Disposition.setType(String) with a
Disposition.TYPE_ATTACHMENT value.- Author:
- Jerome Louvel
-
Field Summary
Fields inherited from class org.restlet.representation.Representation
UNKNOWN_SIZE -
Constructor Summary
ConstructorsConstructorDescriptionFileRepresentation(File file, MediaType mediaType) Constructor that does not set an expiration date forfileFileRepresentation(File file, MediaType mediaType, int timeToLive) Constructor.FileRepresentation(String path, MediaType mediaType) Constructor that does not set an expiration date forpathFileRepresentation(String path, MediaType mediaType, int timeToLive) Constructor. -
Method Summary
Modifier and TypeMethodDescriptiongetFile()Returns the file handle.Returns a character reader with the representation's content.longgetSize()Returns the total size in bytes if known, UNKNOWN_SIZE (-1) otherwise.Returns a stream with the representation's content.getText()Note that this method relies ongetStream().booleanIndicates if this file should be automatically deleted on release of the representation.voidrelease()Releases the file handle.voidsetAutoDeleting(boolean autoDeleting) Indicates if this file should be automatically deleted on release of the representation.voidSets the file handle.voidwrite(OutputStream outputStream) Writes the representation to a byte stream.voidWrites the representation to a characters writer.Methods inherited from class org.restlet.representation.Representation
append, exhaust, getAvailableSize, getDigest, getDisposition, getExpirationDate, getRange, hasKnownSize, isAvailable, isEmpty, isTransient, setAvailable, setDigest, setDisposition, setExpirationDate, setRange, setSize, setTransientMethods inherited from class org.restlet.representation.RepresentationInfo
getModificationDate, getTag, setModificationDate, setTagMethods inherited from class org.restlet.representation.Variant
createClientInfo, equals, getCharacterSet, getEncodings, getLanguages, getLocationRef, getMediaType, hashCode, includes, isCompatible, setCharacterSet, setEncodings, setLanguages, setLocationRef, setLocationRef, setMediaType, toString
-
Constructor Details
-
FileRepresentation
Constructor that does not set an expiration date forfile- Parameters:
file- The represented file.mediaType- The representation's media type.- See Also:
-
FileRepresentation
Constructor. If a positive "timeToLive" parameter is given, then the expiration date is set accordingly. If "timeToLive" is equal to zero, then the expiration date is set to the current date, meaning that it will immediately expire on the client. If -1 is given, then no expiration date is set.- Parameters:
file- The represented file.mediaType- The representation's media type.timeToLive- The time to live before it expires (in seconds).
-
FileRepresentation
Constructor that does not set an expiration date forpath- Parameters:
path- The path name or file URI of the represented file (either in system format or in 'file:///' format).mediaType- The representation's media type.- See Also:
-
FileRepresentation
Constructor.- Parameters:
path- The path name or file URI of the represented file (either in system format or in 'file:///' format).mediaType- The representation's media type.timeToLive- The time to live before it expires (in seconds).- See Also:
-
-
Method Details
-
getFile
Returns the file handle.- Returns:
- the file handle.
-
getReader
Description copied from class:RepresentationReturns a character reader with the representation's content. This method is ensured to return a fresh reader for each invocation unless it is a transient representation, in which case null is returned. If the representation has no character set defined, the system's default one will be used.- Specified by:
getReaderin classRepresentation- Returns:
- A reader with the representation's content.
- Throws:
IOException
-
getSize
public long getSize()Description copied from class:RepresentationReturns the total size in bytes if known, UNKNOWN_SIZE (-1) otherwise. When ranges are used, this might not be the actual size available. For this purpose, you can use theRepresentation.getAvailableSize()method.
Note that when used with HTTP connectors, this property maps to the "Content-Length" header.- Overrides:
getSizein classRepresentation- Returns:
- The size in bytes if known, UNKNOWN_SIZE (-1) otherwise.
- See Also:
-
getStream
Description copied from class:RepresentationReturns 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:
getStreamin classRepresentation- Returns:
- A stream with the representation's content.
- Throws:
IOException
-
getText
Note that this method relies ongetStream(). This stream is closed once fully read.- Overrides:
getTextin classRepresentation- Returns:
- The representation as a string value.
- Throws:
IOException
-
isAutoDeleting
public boolean isAutoDeleting()Indicates if this file should be automatically deleted on release of the representation.- Returns:
- True if this file should be automatically deleted on release of the representation.
-
release
public void release()Releases the file handle.- Overrides:
releasein classRepresentation
-
setAutoDeleting
public void setAutoDeleting(boolean autoDeleting) Indicates if this file should be automatically deleted on release of the representation.- Parameters:
autoDeleting- True if this file should be automatically deleted on release of the representation.
-
setFile
Sets the file handle.- Parameters:
file- The file handle.
-
write
Description copied from class:RepresentationWrites 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 givenOutputStreamafter writing to it as this will be handled by the Restlet connectors automatically.- Specified by:
writein classRepresentation- Parameters:
outputStream- The output stream.- Throws:
IOException
-
write
Description copied from class:RepresentationWrites the representation to a characters writer. 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 givenWriterafter writing to it as this will be handled by the Restlet connectors automatically.- Specified by:
writein classRepresentation- Parameters:
writer- The characters writer.- Throws:
IOException
-