com.vaadin.navigator.
Class Navigator.UriFragmentManager
- java.lang.Object
-
- com.vaadin.navigator.Navigator.UriFragmentManager
-
All Implemented Interfaces:
Enclosing class:
public static class Navigator.UriFragmentManager extends Object implements NavigationStateManager
A
NavigationStateManager
using hashbang fragments in the Page location URI to track views and enable listening to view changes.A hashbang URI is one where the optional fragment or "hash" part - the part following a # sign - is used to encode navigation state in a web application. The advantage of this is that the fragment can be dynamically manipulated by javascript without causing page reloads.
This class is mostly for internal use by Navigator, and is only public and static to enable testing.
Note: Since 8.2 you can use
Navigator.PushStateManager
, which is based on HTML5 History API. To use it, addPushStateNavigation
annotation to the UI.See Also:
-
-
Constructor Summary
Constructors Constructor Description UriFragmentManager(Page page)
Creates a new URIFragmentManager and attach it to listen to URI fragment changes of a
Page
.
-
Method Summary
All Methods Modifier and Type Method Description protected String
getFragment()
Returns the current URI fragment tracked by this UriFragentManager.
String
getState()
Returns the current navigation state including view name and any optional parameters.
protected void
setFragment(String fragment)
Sets the URI fragment to the given string.
void
setNavigator(Navigator navigator)
Sets the Navigator used with this state manager.
void
setState(String state)
Sets the current navigation state in the location URI or similar location, including view name and any optional parameters.
-
-
-
Method Detail
-
setNavigator
public void setNavigator(Navigator navigator)
Description copied from interface:
NavigationStateManager
Sets the Navigator used with this state manager. The state manager should notify the provided navigator of user-triggered navigation state changes by invoking
navigator.navigateTo(getState())
.navigator
parameter value could be null if previously set navigator is destroyed.This method should only be called by a Navigator.
Specified by:
setNavigator
in interfaceNavigationStateManager
-
getState
public String getState()
Description copied from interface:
NavigationStateManager
Returns the current navigation state including view name and any optional parameters.
Specified by:
getState
in interfaceNavigationStateManager
Returns:
current view and parameter string, not null
-
setState
public void setState(String state)
Description copied from interface:
NavigationStateManager
Sets the current navigation state in the location URI or similar location, including view name and any optional parameters.
This method should be only called by a Navigator.
Specified by:
setState
in interfaceNavigationStateManager
Parameters:
state
- new view and parameter string, not null
-
getFragment
protected String getFragment()
Returns the current URI fragment tracked by this UriFragentManager.
Returns:
The URI fragment.
-
setFragment
protected void setFragment(String fragment)
Sets the URI fragment to the given string.
Parameters:
fragment
- The new URI fragment.
-
-