3.5.18. Инфраструктура Generic UI
В данном разделе рассмотрены основные классы инфраструктуры Generic UI, которые могут быть расширены в приложении.
-
AppUI- класс, унаследованный отcom.vaadin.ui.UI. Экземпляр данного класса соответствует одной открытой вкладке веб браузера. Содержит ссылку на реализацию интерфейсаRootWindow- это может быть либо окно логина, либо главное окно приложения, в зависимости от состояния подключения. Ссылку наAppUIможно получить вызовом статического методаAppUI.getCurrent().Для кастомизации функциональности
AppUIв проекте, создайте класс, расширяющийAppUIв модуле web и зарегистрируйте его в web-spring.xml с идентификаторомcuba_AppUIиprototypescope, например:<bean id="cuba_AppUI" class="com.company.sample.web.MyAppUI" scope="prototype"/> -
Connection- интерфейс, обеспечивающий функциональность подключения к среднему слою и хранящий пользовательскую сессию UserSession. Стандартной реализацией этого интерфейса является классConnectionImpl.Для кастомизации функциональности
Connectionв проекте, создайте класс, расширяющийConnectionImplв модуле web и зарегистрируйте его в web-spring.xml с идентификаторомcuba_Connectionиvaadinscope, например:<bean id="cuba_Connection" class="com.company.sample.web.MyConnection" scope="vaadin"/> -
ExceptionHandlers- содержит коллекцию обработчиков исключений клиентского уровня. -
Appпозволяет получить ссылки наConnection,ExceptionHandlersи другие объекты инфраструктуры. ЭкземплярAppсуществует в единственном экземпляре для данной HTTP-сессии пользователя. Ссылку наAppможно получить вызовом статического методаApp.getInstance().Если необходимо кастомизировать функциональность
Appв проекте, создайте класс, расширяющийDefaultAppв модуле web и зарегистрируйте его в web-spring.xml с идентификаторомcuba_Appиvaadinscope, например:<bean name="cuba_App" class="com.company.sample.web.MyApp" scope="vaadin"/>