package org.apereo.cas.util.spring; import org.springframework.beans.factory.config.AutowireCapableBeanFactory; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.context.ConfigurableApplicationContext; /** * @author Misagh Moayyed * An implementation of {@link ApplicationContextAware} that statically * holds the application context * @since 3.0.0. */ public class ApplicationContextProvider implements ApplicationContextAware { private static ApplicationContext CONTEXT; public static ApplicationContext getApplicationContext() { return CONTEXT; } @Override public void setApplicationContext(final ApplicationContext ctx) { CONTEXT = ctx; } public ConfigurableApplicationContext getConfigurableApplicationContext() { return (ConfigurableApplicationContext) CONTEXT; } public AutowireCapableBeanFactory getAutowireCapableBeanFactory() { return getConfigurableApplicationContext().getAutowireCapableBeanFactory(); } }