Class BrowserWindowOpener

    • Constructor Detail

      • BrowserWindowOpener

        public BrowserWindowOpener​(Class<? extends UI> uiClass)
        Creates a window opener that will open windows containing the provided UI class
        Parameters:
        uiClass - the UI class that should be opened when the extended component is clicked
      • BrowserWindowOpener

        public BrowserWindowOpener​(Class<? extends UI> uiClass,
                                   String path)
        Creates a window opener that will open windows containing the provided UI using the provided path
        Parameters:
        uiClass - the UI class that should be opened when the extended component is clicked
        path - the path that the UI should be bound to
      • BrowserWindowOpener

        public BrowserWindowOpener​(String url)
        Creates a window opener that will open windows to the provided URL
        Parameters:
        url - the URL to open in the window
      • BrowserWindowOpener

        public BrowserWindowOpener​(Resource resource)
        Creates a window opener that will open window to the provided resource
        Parameters:
        resource - the resource to open in the window
    • Method Detail

      • setUrl

        public void setUrl​(String url)
        Sets the provided URL url for this instance. The url will be opened in a new browser window/tab when the extended component is clicked.
        Parameters:
        url - URL to open
        Since:
        7.4
      • setResource

        public void setResource​(Resource resource)
        Sets the provided resource for this instance. The resource will be opened in a new browser window/tab when the extended component is clicked.
        Parameters:
        resource - resource to open
        Since:
        7.4
      • getResource

        public Resource getResource()
        Returns the resource for this instance.
        Returns:
        resource to open browser window
        Since:
        7.4
      • getUrl

        public String getUrl()
        Returns the URL for this BrowserWindowOpener instance. Returns null if this instance is not URL resource based (a non URL based resource has been set for it).
        Returns:
        URL to open in the new browser window/tab when the extended component is clicked
        Since:
        7.4
      • setWindowName

        public void setWindowName​(String windowName)
        Sets the target window name that will be used. If a window has already been opened with the same name, the contents of that window will be replaced instead of opening a new window. If the name is null or "_blank", a new window will always be opened.
        Parameters:
        windowName - the target name for the window
      • getWindowName

        public String getWindowName()
        Gets the target window name.
        Returns:
        the window target string
        See Also:
        setWindowName(String)
      • setFeatures

        public void setFeatures​(String features)
        Sets the features for opening the window. See e.g. {@link https://developer.mozilla.org/en-US/docs/DOM/window.open#Position_and_size_features} for a description of the commonly supported features.
        Parameters:
        features - a string with window features, or null to use the default features.
      • getState

        protected BrowserWindowOpenerState getState()
        Description copied from class: AbstractClientConnector
        Returns the shared state for this connector. The shared state object is shared between the server connector and the client connector. Changes are only communicated from the server to the client and not in the other direction.

        As a side effect, marks the connector dirty so any changes done to the state will be sent to the client. Use getState(false) to avoid marking the connector as dirty.

        Overrides:
        getState in class AbstractClientConnector
        Returns:
        The shared state for this connector. Never null.
      • attach

        public void attach()
        Description copied from interface: ClientConnector
        Notifies the connector that it is connected to a VaadinSession (and therefore also to a UI).

        The caller of this method is #setParent(ClientConnector) if the parent is itself already attached to the session. If not, the parent will call the ClientConnector.attach() for all its children when it is attached to the session. This method is always called before the connector's data is sent to the client-side for the first time.

        The attachment logic is implemented in AbstractClientConnector.

        Specified by:
        attach in interface ClientConnector
        Overrides:
        attach in class AbstractClientConnector
      • setUriFragment

        public void setUriFragment​(String uriFragment)
        Sets a URI fragment that will be added to the URI opened in the window. If the window is opened to contain a Vaadin UI, the fragment will be available using Page.getUriFragment() on the Page instance of the new UI.

        The default value is null.

        Parameters:
        uriFragment - the URI fragment string that should be included in the opened URI, or null to preserve the original fragment of the URI.
      • getUriFragment

        public String getUriFragment()
        Gets that URI fragment configured for opened windows.
        Returns:
        the URI fragment string, or null if no fragment is configured.
        See Also:
        setUriFragment(String)