com.holonplatform.vaadin7.spring

## Interface SpringViewNavigator

- All Superinterfaces:
    Serializable, ViewNavigator
  All Known Implementing Classes:
    DefaultSpringViewNavigator

      public interface SpringViewNavigator
      extends ViewNavigator

  A `ViewNavigator` with Spring support.

  Note that default implementation (the one returned by the builder obtained through `builder()`) extends Vaadin `SpringNavigator` ad it is designed to be used as a registered Spring bean with default `SpringViewProvider` as View provider.

  Since:
    5.0.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `SpringViewNavigator.Builder` Builder to create `SpringViewNavigator` instances

    - ### Nested classes/interfaces inherited from interface com.holonplatform.vaadin7.navigator.ViewNavigator

      `ViewNavigator.NavigationBuilder, ViewNavigator.NavigatorBuilder<B extends ViewNavigator.NavigatorBuilder<B>>, ViewNavigator.ViewNavigationException, ViewNavigator.ViewNavigatorChangeEvent`

  - ### Field Summary

    - ### Fields inherited from interface com.holonplatform.vaadin7.navigator.ViewNavigator

      `CONTEXT_KEY, VIEW_URI_SCHEME`

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `static SpringViewNavigator.Builder` | `builder()` Builder to create `SpringViewNavigator` instances
    `void` | `init(com.vaadin.ui.UI ui, com.vaadin.ui.ComponentContainer container)` Initializes an injected navigator and registers `SpringViewProvider` for it.
    `void` | `init(com.vaadin.ui.UI ui, com.vaadin.navigator.NavigationStateManager stateManager, com.vaadin.navigator.ViewDisplay viewDisplay)` Initializes an injected navigator and registers `SpringViewProvider` for it, using a custom `NavigationStateManager`.
    `void` | `init(com.vaadin.ui.UI ui, com.vaadin.ui.SingleComponentContainer container)` Initializes an injected navigator and registers `SpringViewProvider` for it.
    `void` | `init(com.vaadin.ui.UI ui, com.vaadin.navigator.ViewDisplay viewDisplay)` Initializes an injected navigator and registers `SpringViewProvider` for it.

    - ### Methods inherited from interface com.holonplatform.vaadin7.navigator.ViewNavigator

      `addViewChangeListener, getCurrent, getCurrentView, getCurrentViewName, getDefaultViewName, getViewContent, navigateBack, navigateInWindow, navigateInWindow, navigateInWindow, navigateInWindow, navigateTo, navigateTo, navigateToDefault, navigateToState, removeViewChangeListener, require, toView`

- - ### Method Detail

    - #### init

          void init(com.vaadin.ui.UI ui,
                    com.vaadin.ui.ComponentContainer container)

      Initializes an injected navigator and registers `SpringViewProvider` for it.

      The default navigation state manager (based on URI fragments) is used.

      Navigation is automatically initiated after `UI.init()` if a navigator was created. If at a later point changes are made to the navigator, `navigator.navigateTo(navigator.getState())` may need to be explicitly called to ensure the current view matches the navigation state.

      Parameters:
        `ui` - The UI to which this Navigator is attached
        `container` - The component container used to display the views handled by this navigator

    - #### init

          void init(com.vaadin.ui.UI ui,
                    com.vaadin.ui.SingleComponentContainer container)

      Initializes an injected navigator and registers `SpringViewProvider` for it.

      The default navigation state manager (based on URI fragments) is used.

      Navigation is automatically initiated after `UI.init()` if a navigator was created. If at a later point changes are made to the navigator, `navigator.navigateTo(navigator.getState())` may need to be explicitly called to ensure the current view matches the navigation state.

      Parameters:
        `ui` - The UI to which this Navigator is attached
        `container` - The single component container used to display the views handled by this navigator

    - #### init

          void init(com.vaadin.ui.UI ui,
                    com.vaadin.navigator.ViewDisplay viewDisplay)

      Initializes an injected navigator and registers `SpringViewProvider` for it.

      The default navigation state manager (based on URI fragments) is used.

      Navigation is automatically initiated after `UI.init()` if a navigator was created. If at a later point changes are made to the navigator, `navigator.navigateTo(navigator.getState())` may need to be explicitly called to ensure the current view matches the navigation state.

      Parameters:
        `ui` - The UI to which this Navigator is attached
        `viewDisplay` - The ViewDisplay used to display the views handled by this navigator

    - #### init

          void init(com.vaadin.ui.UI ui,
                    com.vaadin.navigator.NavigationStateManager stateManager,
                    com.vaadin.navigator.ViewDisplay viewDisplay)

      Initializes an injected navigator and registers `SpringViewProvider` for it, using a custom `NavigationStateManager`.

      Navigation is automatically initiated after `UI.init()` if a navigator was created. If at a later point changes are made to the navigator, `navigator.navigateTo(navigator.getState())` may need to be explicitly called to ensure the current view matches the navigation state.

      Parameters:
        `ui` - The UI to which this Navigator is attached
        `stateManager` - The NavigationStateManager keeping track of the active view and enabling bookmarking and direct navigation or null for default
        `viewDisplay` - The ViewDisplay used to display the views handled by this navigator

    - #### builder

          static SpringViewNavigator.Builder builder()

      Builder to create `SpringViewNavigator` instances
      Specified by:
        `builder` in interface `ViewNavigator`
      Returns:
        SpringViewNavigator builder

Copyright © 2019 The Holon Platform. All rights reserved.