Class StreamResource

All Implemented Interfaces:
Serializable

@Deprecated(since="24.8", forRemoval=true) public class StreamResource extends AbstractStreamResource
Deprecated, for removal: This API element is subject to removal in a future version.
use DownloadHandler instead
Represents dynamically generated data.

Resource URI registration is automatically handled by components that explicitly support stream resources and by Element.setAttribute(String, AbstractStreamResource). In other cases, the resource must manually be registered using StreamResourceRegistry.registerResource(AbstractStreamResource) to get a URI from which the browser can load the contents of the resource.

Since:
1.0
Author:
Vaadin Ltd
See Also:
  • Constructor Details

    • StreamResource

      public StreamResource(String name, StreamResourceWriter writer)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Creates StreamResource instance using mandatory parameters name as a resource file name and output stream writer as a data producer. writer should write data in the output stream provided as an argument to its StreamResourceWriter.accept(OutputStream, VaadinSession) method.

      name parameter value will be used in URI (generated when resource is registered) in a way that the name is the last segment of the path. So this is synthetic file name (not real one).

      Parameters:
      name - resource file name. May not be null.
      writer - data output stream consumer
    • StreamResource

      public StreamResource(String name, InputStreamFactory factory)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Creates StreamResource instance using mandatory parameters name as a resource file name and input stream factory as a factory for data.

      name parameter value will be used in URI (generated when resource is registered) in a way that the name is the last segment of the path. So this is synthetic file name (not real one).

      Parameters:
      name - resource file name. May not be null.
      factory - data input stream factory. May not be null.
  • Method Details

    • getWriter

      public StreamResourceWriter getWriter()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Returns the stream resource writer.

      Writer writes data in the output stream provided as an argument to its StreamResourceWriter.accept(OutputStream, VaadinSession) method.

      Returns:
      stream resource writer
    • setContentTypeResolver

      public StreamResource setContentTypeResolver(ContentTypeResolver resolver)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Sets the resolver which is used to lookup the content type of the resource.

      By default a resolver based on servletContext.getMimeType() is used.

      Parameters:
      resolver - content type resolver, not null
      Returns:
      this resource
    • setContentType

      public StreamResource setContentType(String contentType)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Set content type for the resource.

      This is a shorthand for setContentTypeResolver(ContentTypeResolver) with resolver which always returns contentType

      Parameters:
      contentType - resource content type, not null
      Returns:
      this resource
    • getContentTypeResolver

      public ContentTypeResolver getContentTypeResolver()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets the resolver which is used to lookup the content type of the resource.
      Returns:
      content type resolver
    • setHeader

      public StreamResource setHeader(String name, String value)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Sets the value of a generic response header. If the header had already been set, the new value overwrites the previous one.
      Parameters:
      name - a header name
      value - value of the header
      Returns:
      this resource
    • getHeader

      public Optional<String> getHeader(String name)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets the value for header name set for the resource.
      Parameters:
      name - name of header to get value for
      Returns:
      an optional with header value, or an empty optional if it has not been set
    • getHeaders

      public Map<String,String> getHeaders()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets the additionally configured headers for the resource.

      This method doesn't return headers which are set via explicit setters like setContentType(String) and AbstractStreamResource.setCacheTime(long).

      Returns:
      a map of headers and their values
    • getName

      public String getName()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from class: AbstractStreamResource
      Get the resource name.

      The value will be used in URI (generated when resource is registered) in a way that the name is the last segment of the path. So this is a synthetic name.

      Specified by:
      getName in class AbstractStreamResource
      Returns:
      resource name