Class SpringUIProvider

java.lang.Object
com.vaadin.server.UIProvider
com.vaadin.spring.server.SpringUIProvider
All Implemented Interfaces:
Serializable

public class SpringUIProvider extends com.vaadin.server.UIProvider
Vaadin UIProvider that looks up UI classes from the Spring application context. The UI classes must be annotated with SpringUI.
Author:
Petter Holmström (petter@vaadin.com), Henri Sara (hesara@vaadin.com)
See Also:
  • Field Details

    • logger

      protected final org.slf4j.Logger logger
  • Constructor Details

    • SpringUIProvider

      public SpringUIProvider(com.vaadin.server.VaadinSession vaadinSession)
  • Method Details

    • detectUIs

      protected void detectUIs()
    • deriveMappingForUI

      protected String deriveMappingForUI(String uiBeanName)
      Derive the name (path) for a UI based on its annotation parameters.

      If a path is given as a parameter for the annotation, it is used. An empty string maps to the root context.

      Parameters:
      uiBeanName - name of the UI bean
      Returns:
      path to map the UI to
    • getUIClass

      public Class<? extends com.vaadin.ui.UI> getUIClass(com.vaadin.server.UIClassSelectionEvent uiClassSelectionEvent)
      Specified by:
      getUIClass in class com.vaadin.server.UIProvider
    • getWebApplicationContext

      protected org.springframework.web.context.WebApplicationContext getWebApplicationContext()
    • mapPathToUI

      protected void mapPathToUI(String path, Class<? extends com.vaadin.ui.UI> uiClass)
    • getUIByPath

      protected Class<? extends com.vaadin.ui.UI> getUIByPath(String path)
    • createInstance

      public com.vaadin.ui.UI createInstance(com.vaadin.server.UICreateEvent event)
      Overrides:
      createInstance in class com.vaadin.server.UIProvider
    • createThemeDirectory

      protected void createThemeDirectory(String theme)
      Create theme directory in the servlet context (if possible) to support caching of themes compiled on the fly also in applications deployed as JARs.

      Any errors are logged and otherwise ignored, as this only helps caching.

      Parameters:
      theme - name of the theme
    • getServletContext

      protected jakarta.servlet.ServletContext getServletContext()
    • configureNavigator

      protected void configureNavigator(com.vaadin.ui.UI ui)
      Configures a UI to use the navigator found by getNavigator() if there is a SpringViewDisplay annotation.
      Parameters:
      ui - the Spring managed UI instance for which to configure automatic navigation
    • getNavigator

      protected SpringNavigator getNavigator()
      Returns the configured navigator bean or null if no bean defined.
      Returns:
      bean extending SpringNavigator or null if none defined
      Throws:
      org.springframework.beans.BeansException - if there are multiple navigator beans or other configuration problem
    • findSpringViewDisplay

      protected Object findSpringViewDisplay(com.vaadin.ui.UI ui)
    • getSpringViewDisplayPostProcessor

      protected SpringViewDisplayPostProcessor getSpringViewDisplayPostProcessor()
    • getTheme

      public String getTheme(com.vaadin.server.UICreateEvent event)
      Overrides:
      getTheme in class com.vaadin.server.UIProvider
    • getPageTitle

      public String getPageTitle(com.vaadin.server.UICreateEvent event)
      Overrides:
      getPageTitle in class com.vaadin.server.UIProvider