package de.unioninvestment.eai.portal.support.vaadin.context; import java.util.Locale; import org.springframework.beans.BeansException; import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.context.ApplicationContext; /** * Delegate-Interface für {@link Context}. * * @author carsten.mjartan */ public interface ContextProvider { /** * @return die aktuelle User-Locale */ Locale getLocale(); /** * @return die aktuelle Liferay-CommunityId */ long getLiferayCommunityId(); /** * Übersetzung von UI-Texten. * * @param key * der Übersetzungsschlüssel * @param args * Parameter * @return die Übersetzung gemäß der aktuellen Locale-Konfiguration */ String getMessage(String key, Object... args); /** * @param requiredType * der benötigte Typ eines Beans * @return eine Instanz des Typs aus dem Spring ApplicationContext * @throws NoSuchBeanDefinitionException * falls die Bean im Spring-Kontext nicht gefunden werden kann * @throws BeansException * falls keine eindeutige Zuordnung getroffen werden kann */ <T> T getBean(Class<T> requiredType); /** * @return {@link IllegalStateException}, falls der Context nicht ermittelt werden kann */ ApplicationContext getSpringContext(); }