com.vaadin.flow.server.
Class StreamResource
- java.lang.Object
-
- com.vaadin.flow.server.AbstractStreamResource
-
- com.vaadin.flow.server.StreamResource
-
All Implemented Interfaces:
public class StreamResource extends AbstractStreamResource
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 usingStreamResourceRegistry.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 Summary
Constructors Constructor and Description StreamResource(String name, InputStreamFactory factory)
Creates
StreamResource
instance using mandatory parametersname
as a resource file name and input streamfactory
as a factory for data.StreamResource(String name, StreamResourceWriter writer)
Creates
StreamResource
instance using mandatory parametersname
as a resource file name and output streamwriter
as a data producer.
-
Method Summary
All Methods Modifier and Type Method and Description ContentTypeResolver
getContentTypeResolver()
Gets the resolver which is used to lookup the content type of the resource.
String
getName()
Get the resource name.
StreamResourceWriter
getWriter()
Returns the stream resource writer.
StreamResource
setContentType(String contentType)
Set content type for the resource.
StreamResource
setContentTypeResolver(ContentTypeResolver resolver)
Sets the resolver which is used to lookup the content type of the resource.
-
Methods inherited from class com.vaadin.flow.server.AbstractStreamResource
getCacheTime, getId, setCacheTime
-
-
-
-
Constructor Detail
-
StreamResource
public StreamResource(String name, StreamResourceWriter writer)
Creates
StreamResource
instance using mandatory parametersname
as a resource file name and output streamwriter
as a data producer.writer
should write data in the output stream provided as an argument to itsStreamResourceWriter.accept(OutputStream, VaadinSession)
method.name
parameter value will be used in URI (generated when resource is registered) in a way that thename
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)
Creates
StreamResource
instance using mandatory parametersname
as a resource file name and input streamfactory
as a factory for data.name
parameter value will be used in URI (generated when resource is registered) in a way that thename
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 Detail
-
getWriter
public StreamResourceWriter getWriter()
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)
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, notnull
Returns:
this resource
-
setContentType
public StreamResource setContentType(String contentType)
Set content type for the resource.
This is a shorthand for
setContentTypeResolver(ContentTypeResolver)
with resolver which always returnscontentType
Parameters:
contentType
- resource content type, notnull
Returns:
this resource
-
getContentTypeResolver
public ContentTypeResolver getContentTypeResolver()
Gets the resolver which is used to lookup the content type of the resource.
Returns:
content type resolver
-
getName
public String getName()
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 classAbstractStreamResource
Returns:
resource name
-
-