View Javadoc
1   package com.atlassian.activeobjects.spring;
2   
3   import org.springframework.beans.BeansException;
4   import org.springframework.beans.factory.FactoryBean;
5   import org.springframework.context.ApplicationContext;
6   import org.springframework.context.ApplicationContextAware;
7   
8   import static com.google.common.base.Preconditions.checkNotNull;
9   
10  public final class ApplicationContextFactoryBean implements FactoryBean, ApplicationContextAware {
11      private ApplicationContext applicationContext;
12  
13      @Override
14      public Object getObject() throws Exception {
15          return applicationContext;
16      }
17  
18      @Override
19      public Class getObjectType() {
20          return ApplicationContext.class;
21      }
22  
23      @Override
24      public boolean isSingleton() {
25          return true;
26      }
27  
28      @Override
29      public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
30          this.applicationContext = checkNotNull(applicationContext);
31      }
32  }