Class StreamResourceRegistry

    • Constructor Detail

      • StreamResourceRegistry

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

      • 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
      • 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 AbstractStreamResourceOptional<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