org.restlet.resource
Class FileRepresentation

java.lang.Object
  extended by org.restlet.resource.Variant
      extended by org.restlet.resource.Representation
          extended by org.restlet.resource.FileRepresentation

public class FileRepresentation
extends Representation

Representation based on a file.

Author:
Jerome Louvel (contact@noelios.com)

Field Summary
 
Fields inherited from class org.restlet.resource.Variant
UNKNOWN_SIZE
 
Constructor Summary
FileRepresentation(File file, MediaType mediaType, int timeToLive)
          Constructor.
FileRepresentation(String path, MediaType mediaType, int timeToLive)
          Constructor.
 
Method Summary
 FileChannel getChannel()
          Returns a readable byte channel.
 long getSize()
          Returns the size in bytes if known, UNKNOWN_SIZE (-1) otherwise.
 FileInputStream getStream()
          Returns a stream with the representation's content.
 String getText()
          Converts the representation to a string value.
 void write(OutputStream outputStream)
          Writes the representation to a byte stream.
 void write(WritableByteChannel writableChannel)
          Writes the representation to a byte channel.
 
Methods inherited from class org.restlet.resource.Representation
isAvailable, isTransient, setAvailable, setTransient
 
Methods inherited from class org.restlet.resource.Variant
getCharacterSet, getEncodings, getExpirationDate, getIdentifier, getLanguages, getMediaType, getModificationDate, getTag, setCharacterSet, setExpirationDate, setIdentifier, setIdentifier, setMediaType, setModificationDate, setSize, setTag
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FileRepresentation

public FileRepresentation(File file,
                          MediaType mediaType,
                          int timeToLive)
Constructor.

Parameters:
file - The represented file.
mediaType - The representation's media type.
timeToLive - The time to live before it expires (in seconds).

FileRepresentation

public FileRepresentation(String path,
                          MediaType mediaType,
                          int timeToLive)
Constructor.

Parameters:
path - The path name or file URI of the represented file.
mediaType - The representation's media type.
timeToLive - The time to live before it expires (in seconds).
See Also:
File.File(String)
Method Detail

getChannel

public FileChannel getChannel()
                       throws IOException
Returns a readable byte channel. If it is supported by a file a read-only instance of FileChannel is returned.

Specified by:
getChannel in class Representation
Returns:
A readable byte channel.
Throws:
IOException

getSize

public long getSize()
Returns the size in bytes if known, UNKNOWN_SIZE (-1) otherwise.

Overrides:
getSize in class Variant
Returns:
The size in bytes if known, UNKNOWN_SIZE (-1) otherwise.

getStream

public FileInputStream getStream()
                          throws IOException
Returns a stream with the representation's content.

Specified by:
getStream in class Representation
Returns:
A stream with the representation's content.
Throws:
IOException

getText

public String getText()
               throws IOException
Converts the representation to a string value. Be careful when using this method as the conversion of large content to a string fully stored in memory can result in OutOfMemoryErrors being thrown.

Overrides:
getText in class Representation
Returns:
The representation as a string value.
Throws:
IOException

write

public void write(OutputStream outputStream)
           throws IOException
Writes the representation to a byte stream.

Specified by:
write in class Representation
Parameters:
outputStream - The output stream.
Throws:
IOException

write

public void write(WritableByteChannel writableChannel)
           throws IOException
Writes the representation to a byte channel. Optimizes using the file channel transferTo method.

Specified by:
write in class Representation
Parameters:
writableChannel - A writable byte channel.
Throws:
IOException


Copyright © 2005-2007 Noelios Technologies.