com.vaadin.server.

Class Page

    • Constructor Detail

    • Method Detail

      • addPopStateListener

        public Registration addPopStateListener​(Page.PopStateListener listener)

        Adds a listener that gets notified every time the URI of this page is changed due to back/forward functionality of the browser.

        Note that one only gets notified when the back/forward button affects history changes with-in same UI, created by pushState(String) or replaceState(String) functions.

        Parameters:

        listener - the Popstate listener to add

        Returns:

        a registration object for removing the listener

        Since:

        8.0

        See Also:

        getLocation(), Registration

      • setUriFragment

        public void setUriFragment​(String newUriFragment,
                                   boolean fireEvents)

        Sets the fragment part in the current location URI. Optionally fires a Page.UriFragmentChangedEvent.

        The fragment is the optional last component of a URI, prefixed with a hash sign ("#").

        Passing an empty string as newFragment sets an empty fragment (a trailing "#" in the URI.) Passing null if there is already a non-null fragment will leave a trailing # in the URI since removing it would cause the browser to reload the page. This is not fully consistent with the semantics of URI.

        Parameters:

        newUriFragment - The new fragment.

        fireEvents - true to fire event

        See Also:

        getUriFragment(), setLocation(URI), Page.UriFragmentChangedEvent, Page.UriFragmentChangedListener

      • getWebBrowser

        public WebBrowser getWebBrowser()
      • getWindowName

        public String getWindowName()

        Gets the window.name value of the browser window of this page.

        Returns:

        the window name, null if the name is not known

        Since:

        7.2

      • updateBrowserWindowSize

        @Deprecated
        public void updateBrowserWindowSize​(int width,
                                            int height)
        Deprecated.

        For internal use only. Updates the internal state with the given values. Does not resize the Page or browser window.

        Parameters:

        width - the new browser window width

        height - the new browse window height

      • updateBrowserWindowSize

        public void updateBrowserWindowSize​(int width,
                                            int height,
                                            boolean fireEvents)

        For internal use only. Updates the internal state with the given values. Does not resize the Page or browser window.

        Parameters:

        width - the new browser window width

        height - the new browser window height

        fireEvents - whether to fire Page.BrowserWindowResizeEvent if the size changes

        Since:

        7.2

      • getBrowserWindowHeight

        public int getBrowserWindowHeight()

        Gets the last known height of the browser window in which this UI resides.

        Returns:

        the browser window height in pixels

      • getBrowserWindowWidth

        public int getBrowserWindowWidth()

        Gets the last known width of the browser window in which this uI resides.

        Returns:

        the browser window width in pixels

      • getJavaScript

        public JavaScript getJavaScript()
      • getStyles

        public Page.Styles getStyles()

        Returns that stylesheet associated with this Page. The stylesheet contains additional styles injected at runtime into the HTML document.

        Since:

        7.1

      • setLocation

        public void setLocation​(String uri)

        Navigates this page to the given URI. The contents of this page in the browser is replaced with whatever is returned for the given URI.

        This method should not be used to start downloads, as the client side will assume the browser will navigate away when opening the URI. Use one of the Page.open methods or FileDownloader instead.

        Parameters:

        uri - the URI to show

        See Also:

        open(String, String), FileDownloader

      • setLocation

        public void setLocation​(URI uri)

        Navigates this page to the given URI. The contents of this page in the browser is replaced with whatever is returned for the given URI.

        This method should not be used to start downloads, as the client side will assume the browser will navigate away when opening the URI. Use one of the Page.open methods or FileDownloader instead.

        Parameters:

        uri - the URI to show

        See Also:

        open(String, String), FileDownloader

      • pushState

        public void pushState​(String uri)

        Updates the browsers URI without causing actual page change. This method is useful if you wish implement "deep linking" to your application. Calling the method also adds a new entry to clients browser history and you can further use Page.PopStateListener to track the usage of back/forward feature in browser.

        Note, the current implementation supports setting only one new uri in one user interaction.

        Parameters:

        uri - to be used for pushState operation. The URI is resolved over the current location. If the given URI is absolute, it must be of same origin as the current URI or the browser will not accept the new value.

        Since:

        8.0

      • pushState

        public void pushState​(URI uri)

        Updates the browsers URI without causing actual page change. This method is useful if you wish implement "deep linking" to your application. Calling the method also adds a new entry to clients browser history and you can further use Page.PopStateListener to track the usage of back/forward feature in browser.

        Note, the current implementation supports setting only one new uri in one user interaction.

        Parameters:

        uri - the URI to be used for pushState operation. The URI is resolved over the current location. If the given URI is absolute, it must be of same origin as the current URI or the browser will not accept the new value.

        Since:

        8.0

      • replaceState

        public void replaceState​(String uri)

        Updates the browsers URI without causing actual page change in the same way as pushState(String), but does not add new entry to browsers history.

        Parameters:

        uri - the URI to be used for replaceState operation. The URI is resolved over the current location. If the given URI is absolute, it must be of same origin as the current URI or the browser will not accept the new value.

        Since:

        8.0

      • replaceState

        public void replaceState​(URI uri)

        Updates the browsers URI without causing actual page change in the same way as pushState(URI), but does not add new entry to browsers history.

        Parameters:

        uri - the URI to be used for replaceState operation. The URI is resolved over the current location. If the given URI is absolute, it must be of same origin as the current URI or the browser will not accept the new value.

        Since:

        8.0

      • updateLocation

        @Deprecated
        public void updateLocation​(String location)
        Deprecated.

        For internal use only. Used to update the server-side location when the client-side location changes.

        Parameters:

        location - the new location URI

      • updateLocation

        public void updateLocation​(String location,
                                   boolean fireEvents,
                                   boolean firePopstate)

        For internal use only. Used to update the server-side location when the client-side location changes.

        Parameters:

        location - the new location URI

        fireEvents - whether to fire Page.UriFragmentChangedEvent if the URI fragment changes

        firePopstate - whether to fire Page.PopStateEvent

        Since:

        8.0

      • open

        public void open​(String url,
                         String windowName)

        Opens the given url in a window with the given name. Equivalent to open (url, windowName, true) .

        The supplied windowName is used as the target name in a window.open call in the client. This means that special values such as "_blank", "_self", "_top", "_parent" have special meaning. An empty or null window name is also a special case.

        "", null and "_self" as windowName all causes the URL to be opened in the current window, replacing any old contents. For downloadable content you should avoid "_self" as "_self" causes the client to skip rendering of any other changes as it considers them irrelevant (the page will be replaced by the response from the URL). This can speed up the opening of a URL, but it might also put the client side into an inconsistent state if the window content is not completely replaced e.g., if the URL is downloaded instead of displayed in the browser.

        "_blank" as windowName causes the URL to always be opened in a new window or tab (depends on the browser and browser settings).

        "_top" and "_parent" as windowName works as specified by the HTML standard.

        Any other windowName will open the URL in a window with that name, either by opening a new window/tab in the browser or by replacing the contents of an existing window with that name.

        Please note that opening a popup window in this way may be blocked by the browser's popup-blocker because the new browser window is opened when processing a response from the server. To avoid this, you should instead use Link for opening the window because browsers are more forgiving when the window is opened directly from a client-side click event.

        Parameters:

        url - the URL to open.

        windowName - the name of the window.

      • open

        public void open​(String url,
                         String windowName,
                         boolean tryToOpenAsPopup)

        Opens the given url in a window with the given name. Equivalent to open (url, windowName, true) .

        The supplied windowName is used as the target name in a window.open call in the client. This means that special values such as "_blank", "_self", "_top", "_parent" have special meaning. An empty or null window name is also a special case.

        "", null and "_self" as windowName all causes the URL to be opened in the current window, replacing any old contents. For downloadable content you should avoid "_self" as "_self" causes the client to skip rendering of any other changes as it considers them irrelevant (the page will be replaced by the response from the URL). This can speed up the opening of a URL, but it might also put the client side into an inconsistent state if the window content is not completely replaced e.g., if the URL is downloaded instead of displayed in the browser.

        "_blank" as windowName causes the URL to always be opened in a new window or tab (depends on the browser and browser settings).

        "_top" and "_parent" as windowName works as specified by the HTML standard.

        Any other windowName will open the URL in a window with that name, either by opening a new window/tab in the browser or by replacing the contents of an existing window with that name.

        Please note that opening a popup window in this way may be blocked by the browser's popup-blocker because the new browser window is opened when processing a response from the server. To avoid this, you should instead use Link for opening the window because browsers are more forgiving when the window is opened directly from a client-side click event.

        Parameters:

        url - the URL to open.

        windowName - the name of the window.

        tryToOpenAsPopup - Whether to try to force the resource to be opened in a new window

      • open

        public void open​(String url,
                         String windowName,
                         int width,
                         int height,
                         BorderStyle border)

        Opens the given URL in a window with the given size, border and name. For more information on the meaning of windowName, see open(String, String).

        Please note that opening a popup window in this way may be blocked by the browser's popup-blocker because the new browser window is opened when processing a response from the server. To avoid this, you should instead use Link for opening the window because browsers are more forgiving when the window is opened directly from a client-side click event.

        Parameters:

        url - the URL to open.

        windowName - the name of the window.

        width - the width of the window in pixels

        height - the height of the window in pixels

        border - the border style of the window.

      • showNotification

        @Deprecated
        public void showNotification​(Notification notification)
        Deprecated.
        As of 7.0, use Notification.show(Page) instead.

        Shows a notification message.

        Parameters:

        notification - The notification message to show

        See Also:

        Notification

      • getCurrent

        public static Page getCurrent()

        Gets the Page to which the current uI belongs. This is automatically defined when processing requests to the server. In other cases, (e.g. from background threads), the current uI is not automatically defined.

        Returns:

        the current page instance if available, otherwise null

        See Also:

        UI.getCurrent()

      • setTitle

        public void setTitle​(String title)

        Sets the page title. The page title is displayed by the browser e.g. as the title of the browser window or as the title of the tab.

        If this value is set to null, the previously set page title will be left as-is. Set to empty string to clear the title.

        Parameters:

        title - the page title to set

      • reload

        public void reload()

        Reloads the page in the browser.

      • getState

        protected PageState getState​(boolean markAsDirty)

        Returns the page state.

        The page state is transmitted to UIConnector together with UIState rather than as an individual entity.

        The state should be considered an internal detail of Page. Classes outside of Page should not access it directly but only through public APIs provided by Page.

        Parameters:

        markAsDirty - true to mark the state as dirty

        Returns:

        PageState object that can be read in any case and modified if markAsDirty is true

        Since:

        7.1

      • addDependency

        public void addDependency​(Dependency dependency)

        Add a dependency that should be added to the current page.

        These dependencies are always added before the dependencies included by using the annotations HtmlImport, JavaScript and StyleSheet during the same request.

        Please note that these dependencies are always sent to the client side and not filtered out by any DependencyFilter.

        Parameters:

        dependency - the dependency to add

        Since:

        8.1

      • getPendingDependencies

        public Collection<Dependency> getPendingDependencies()

        Returns all pending dependencies.

        For internal use only, calling this method will clear the pending dependencies.

        Returns:

        the pending dependencies to the current page

        Since:

        8.1

      • getUI

        public UI getUI()

        Returns the UI of this Page.

        Returns:

        the UI of this Page.

        Since:

        8.2