com.holonplatform.vaadin.spring.config

## Annotation Type EnableViewNavigator

-     @Target(value=TYPE)
       @Retention(value=RUNTIME)
       @Documented
       @Inherited
       @Import(value={com.vaadin.spring.VaadinConfiguration.class,com.holonplatform.vaadin.spring.internal.ViewNavigatorEnabler.class})
      public @interface EnableViewNavigator

  Annotation to be used on Spring Configuration classes to setup Vaadin integration and registering a UI-scoped `SpringViewNavigator` navigator.

  This interface imports `VaadinConfiguration`, enabling Spring Vaadin integration. For this reason, replaces `EnableVaadin` annotation behaviour, which is not required anymore on configuration classes.

  Since:
    5.0.0

- - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `Class<? extends com.vaadin.navigator.View>` | `accessDeniedView` Set the View class to use as access denied view, i.e. the view to show when a `ViewAccessControl` or a `ViewInstanceAccessControl` denies access to a view.
    `String` | `defaultViewName` Set the default navigator view name.
    `boolean` | `enableViewContextInjection` Enable context data injection in navigation Views using `ViewContext` annotation.
    `Class<? extends com.vaadin.navigator.View>` | `errorView` Set the View class to use as navigator error view.
    `int` | `maxNavigationHistorySize` Limit view navigation history tracking.
    `boolean` | `navigateToDefaultViewWhenViewNotAvailable` Set whether to navigate to default view (if setted) when a view is not available from current navigation state.

- - ### Element Detail

    - #### enableViewContextInjection

          public abstract boolean enableViewContextInjection

      Enable context data injection in navigation Views using `ViewContext` annotation.

      Default is `true`.

      Returns:
        `true` to enable context data injection in navigation Views using `ViewContext` annotation.
      Default:
        true

  - - #### maxNavigationHistorySize

          public abstract int maxNavigationHistorySize

      Limit view navigation history tracking.
      Returns:
        Navigation history tracking max size. `-1` means no limit.
      Default:
        -1

  - - #### defaultViewName

          public abstract String defaultViewName

      Set the default navigator view name. The default view it is used as target of `ViewNavigator.navigateToDefault()` method and as a fallback by `ViewNavigator.navigateBack()` method if no other View is available in history or as a default view when no view name is specified.

      If a default view name is explicitly specified, any `DefaultView` annotated View is ignored.

      Returns:
        Default navigator view name
      Default:
        ""

  - - #### navigateToDefaultViewWhenViewNotAvailable

          public abstract boolean navigateToDefaultViewWhenViewNotAvailable

      Set whether to navigate to default view (if setted) when a view is not available from current navigation state.
      Returns:
        `true` to navigate to default view (if setted) when a view is not available from current navigation state
      Default:
        false

  - - #### errorView

          public abstract Class<? extends com.vaadin.navigator.View> errorView

      Set the View class to use as navigator error view.

      If an error view class is explicitly specified, any `ErrorView` annotated View is ignored.

      Returns:
        Navigator error view class
      Default:
        com.vaadin.navigator.View.class

  - - #### accessDeniedView

          public abstract Class<? extends com.vaadin.navigator.View> accessDeniedView

      Set the View class to use as access denied view, i.e. the view to show when a `ViewAccessControl` or a `ViewInstanceAccessControl` denies access to a view.

      If an access denied view class is explicitly specified, any `AccessDeniedView` annotated View is ignored.

      Returns:
        Navigator error view class
      Default:
        com.vaadin.navigator.View.class

Copyright © 2017 The Holon Platform. All rights reserved.