com.vaadin.server
Class FileResource

java.lang.Object
  extended by com.vaadin.server.FileResource
All Implemented Interfaces:
ConnectorResource, Resource, java.io.Serializable

public class FileResource
extends java.lang.Object
implements ConnectorResource

FileResources are files or directories on local filesystem. The files and directories are served through URI:s to the client terminal and thus must be registered to an URI context before they can be used. The resource is automatically registered to the application when it is created.

Since:
3.0
Author:
Vaadin Ltd.
See Also:
Serialized Form

Field Summary
 
Fields inherited from interface com.vaadin.server.ConnectorResource
CONNECTOR_PATH
 
Constructor Summary
FileResource(java.io.File sourceFile)
          Creates a new file resource for providing given file for client terminals.
 
Method Summary
 int getBufferSize()
          Gets the size of the download buffer used for this resource.
 long getCacheTime()
          Gets the length of cache expiration time.
 java.lang.String getFilename()
          Gets the virtual filename for this resource.
 java.lang.String getMIMEType()
          Gets the MIME type of the resource.
 java.io.File getSourceFile()
          Gets the source file.
 DownloadStream getStream()
          Gets resource as stream.
 void setBufferSize(int bufferSize)
          Sets the size of the download buffer used for this resource.
 void setCacheTime(long cacheTime)
          Sets the length of cache expiration time.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FileResource

public FileResource(java.io.File sourceFile)
Creates a new file resource for providing given file for client terminals.

Parameters:
sourceFile - the file that should be served.
Method Detail

getStream

public DownloadStream getStream()
Description copied from interface: ConnectorResource
Gets resource as stream.

Note that this method is called while the session is locked to prevent race conditions but the methods in the returned DownloadStream are assumed to be unrelated to the VaadinSession and are called without holding session locks (to prevent locking the session during long file downloads).

Specified by:
getStream in interface ConnectorResource
Returns:
A download stream which produces the resource content

getSourceFile

public java.io.File getSourceFile()
Gets the source file.

Returns:
the source File.

getFilename

public java.lang.String getFilename()
Description copied from interface: ConnectorResource
Gets the virtual filename for this resource.

Specified by:
getFilename in interface ConnectorResource
Returns:
the file name associated to this resource.

getMIMEType

public java.lang.String getMIMEType()
Description copied from interface: Resource
Gets the MIME type of the resource.

Specified by:
getMIMEType in interface Resource
Returns:
the MIME type of the resource.

getCacheTime

public long getCacheTime()
Gets the length of cache expiration time. This gives the adapter the possibility cache streams sent to the client. The caching may be made in adapter or at the client if the client supports caching. Default is DownloadStream.DEFAULT_CACHETIME.

Returns:
Cache time in milliseconds.

setCacheTime

public void setCacheTime(long cacheTime)
Sets the length of cache expiration time. This gives the adapter the possibility cache streams sent to the client. The caching may be made in adapter or at the client if the client supports caching. Zero or negavive value disbales the caching of this stream.

Parameters:
cacheTime - the cache time in milliseconds.

getBufferSize

public int getBufferSize()
Gets the size of the download buffer used for this resource.

If the buffer size is 0, the buffer size is decided by the terminal adapter. The default value is 0.

Returns:
the size of the buffer in bytes.

setBufferSize

public void setBufferSize(int bufferSize)
Sets the size of the download buffer used for this resource.

Parameters:
bufferSize - the size of the buffer in bytes.


Copyright © 2000-2014 Vaadin Ltd. All Rights Reserved.