Class StreamResource

  • All Implemented Interfaces:
    ConnectorResource, Resource, java.io.Serializable

    public class StreamResource
    extends java.lang.Object
    implements ConnectorResource
    StreamResource is a resource provided to the client directly by the application.
    Since:
    3.0
    Author:
    Vaadin Ltd.
    See Also:
    Serialized Form
    • Constructor Detail

      • StreamResource

        public StreamResource​(StreamResource.StreamSource streamSource,
                              java.lang.String filename)
        Creates a new stream resource for downloading from stream.
        Parameters:
        streamSource - the source Stream.
        filename - the name of the file.
    • Method Detail

      • 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.
        See Also:
        Resource.getMIMEType()
      • setMIMEType

        public void setMIMEType​(java.lang.String mimeType)
        Sets the mime type of the resource.
        Parameters:
        mimeType - the MIME type to be set.
      • getStreamSource

        public StreamResource.StreamSource getStreamSource()
        Returns the source for this StreamResource. StreamSource is queried when the resource is about to be streamed to the client.
        Returns:
        Source of the StreamResource.
      • setStreamSource

        public void setStreamSource​(StreamResource.StreamSource streamSource)
        Sets the source for this StreamResource. StreamSource is queried when the resource is about to be streamed to the client.
        Parameters:
        streamSource - the source to set.
      • getFilename

        public java.lang.String getFilename()
        Gets the filename.
        Specified by:
        getFilename in interface ConnectorResource
        Returns:
        the filename.
      • setFilename

        public void setFilename​(java.lang.String filename)
        Sets the filename.
        Parameters:
        filename - the filename to set.
      • 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
      • 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.
      • 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 negative value disables the caching of this stream.

        Parameters:
        cacheTime - the cache time in milliseconds.
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object