Class StreamResourceRegistry

java.lang.Object
com.vaadin.flow.server.StreamResourceRegistry
All Implemented Interfaces:
Serializable

public class StreamResourceRegistry extends Object implements Serializable
Registry for StreamResource instances.
Since:
1.0
Author:
Vaadin Ltd
See Also:
  • Constructor Details

    • StreamResourceRegistry

      public StreamResourceRegistry(VaadinSession session)
      Creates stream resource registry for provided session.
      Parameters:
      session - vaadin session
  • Method Details

    • registerResource

      public StreamRegistration registerResource(AbstractStreamResource resource)
      Registers a stream resource in the session and returns registration handler.

      You can get resource URI to use it in the application (e.g. set an attribute value or property value) via the registration handler. The registration handler should be used to unregister resource when it's not needed anymore. Note that it is the developer's responsibility to unregister resources. Otherwise resources won't be garbage collected until the session expires which causes memory leak.

      Parameters:
      resource - stream resource to register
      Returns:
      registration handler
    • unregisterResource

      public void unregisterResource(StreamReceiver resource)
      Unregister a stream receiver resource.
      Parameters:
      resource - stream receiver resource to unregister
    • getURI

      public static URI getURI(AbstractStreamResource resource)
      Gets the URI for the given resource.

      The URI won't be handled (and won't work) if resource is not registered in the session.

      Parameters:
      resource - stream resource
      Returns:
      resource URI
      See Also:
    • getTargetURI

      public URI getTargetURI(AbstractStreamResource resource)
      Returns the URI path to the given resource in the context of this registry (relevant in portlet context).
      Parameters:
      resource - stream resource
      Returns:
      resource URI
    • getResource

      public Optional<AbstractStreamResource> getResource(URI uri)
      Get a registered resource for given URI.

      Resource may be a StreamResource or a StreamReceiver

      Parameters:
      uri - resource URI
      Returns:
      an optional resource, or an empty optional if no resource has been registered with this URI
    • getResource

      public <T extends AbstractStreamResource> Optional<T> getResource(Class<T> type, URI uri)
      Get a registered resource of given type.
      Type Parameters:
      T - resource extending AbstractStreamResource
      Parameters:
      type - resource class type
      uri - resource URI
      Returns:
      an optional resource, or an empty optional if no resource has been registered with this URI