org.sakaiproject.util
Class SakaiApplicationContext

java.lang.Object
  extended by org.springframework.core.io.DefaultResourceLoader
      extended by org.springframework.context.support.AbstractApplicationContext
          extended by org.springframework.context.support.GenericApplicationContext
              extended by org.sakaiproject.util.SakaiApplicationContext
All Implemented Interfaces:
org.springframework.beans.factory.BeanFactory, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.HierarchicalBeanFactory, org.springframework.beans.factory.ListableBeanFactory, org.springframework.beans.factory.support.BeanDefinitionRegistry, org.springframework.context.ApplicationContext, org.springframework.context.ApplicationEventPublisher, org.springframework.context.ConfigurableApplicationContext, org.springframework.context.Lifecycle, org.springframework.context.MessageSource, org.springframework.core.AliasRegistry, org.springframework.core.io.ResourceLoader, org.springframework.core.io.support.ResourcePatternResolver

public class SakaiApplicationContext
extends org.springframework.context.support.GenericApplicationContext

Hook some Sakai-specific operations into the normal ApplicationContext refresh cycle: read component manager configuration files, give creators of PostProcessor objects (e.g., SakaiProperties) a chance to do their work, and load a few central components before the rest.


Field Summary
 
Fields inherited from class org.springframework.context.support.AbstractApplicationContext
APPLICATION_EVENT_MULTICASTER_BEAN_NAME, logger, MESSAGE_SOURCE_BEAN_NAME
 
Fields inherited from interface org.springframework.context.ConfigurableApplicationContext
CONFIG_LOCATION_DELIMITERS, LOAD_TIME_WEAVER_BEAN_NAME
 
Fields inherited from interface org.springframework.beans.factory.BeanFactory
FACTORY_BEAN_PREFIX
 
Fields inherited from interface org.springframework.core.io.support.ResourcePatternResolver
CLASSPATH_ALL_URL_PREFIX
 
Fields inherited from interface org.springframework.core.io.ResourceLoader
CLASSPATH_URL_PREFIX
 
Constructor Summary
SakaiApplicationContext()
           
 
Method Summary
 void invokePostProcessorCreators(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory)
          Add bean-created post processors.
protected  void loadBeanDefinitions(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory)
           
protected  void onRefresh()
          Load initial beans before going through the default logic.
protected  void postProcessBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory)
          Before post-processing, load beans which have declared that they want to add post-processors dynamically.
protected  void prepareBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory)
          Load component manager configurations.
 void setConfigLocations(String[] configLocations)
           
 void setInitialSingletonNames(String[] initialSingletonNames)
           
 
Methods inherited from class org.springframework.context.support.GenericApplicationContext
closeBeanFactory, getBeanDefinition, getBeanFactory, getDefaultListableBeanFactory, getResource, getResources, isAlias, isBeanNameInUse, refreshBeanFactory, registerAlias, registerBeanDefinition, removeAlias, removeBeanDefinition, setParent, setResourceLoader
 
Methods inherited from class org.springframework.context.support.AbstractApplicationContext
addApplicationListener, addBeanFactoryPostProcessor, addListener, cancelRefresh, close, containsBean, containsBeanDefinition, containsLocalBean, destroy, destroyBeans, doClose, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getAutowireCapableBeanFactory, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getDisplayName, getId, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getResourcePatternResolver, getStartupDate, getType, initApplicationEventMulticaster, initMessageSource, invokeBeanFactoryPostProcessors, isActive, isPrototype, isRunning, isSingleton, isTypeMatch, obtainFreshBeanFactory, onClose, prepareRefresh, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, setDisplayName, setId, start, stop, toString
 
Methods inherited from class org.springframework.core.io.DefaultResourceLoader
getClassLoader, getResourceByPath, setClassLoader
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.springframework.beans.factory.support.BeanDefinitionRegistry
containsBeanDefinition, getBeanDefinitionCount, getBeanDefinitionNames
 
Methods inherited from interface org.springframework.core.AliasRegistry
getAliases
 
Methods inherited from interface org.springframework.core.io.ResourceLoader
getClassLoader
 

Constructor Detail

SakaiApplicationContext

public SakaiApplicationContext()
Method Detail

prepareBeanFactory

protected void prepareBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory)
Load component manager configurations. A more normal hook for this is the "refreshBeanFactory" method, but it's declared final by GenericApplicationContext.

Overrides:
prepareBeanFactory in class org.springframework.context.support.AbstractApplicationContext

loadBeanDefinitions

protected void loadBeanDefinitions(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory)
                            throws IOException
Throws:
IOException

postProcessBeanFactory

protected void postProcessBeanFactory(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory)
Before post-processing, load beans which have declared that they want to add post-processors dynamically.

Overrides:
postProcessBeanFactory in class org.springframework.context.support.AbstractApplicationContext

onRefresh

protected void onRefresh()
                  throws org.springframework.beans.BeansException
Load initial beans before going through the default logic.

Overrides:
onRefresh in class org.springframework.context.support.AbstractApplicationContext
Throws:
org.springframework.beans.BeansException

invokePostProcessorCreators

public void invokePostProcessorCreators(org.springframework.beans.factory.config.ConfigurableListableBeanFactory beanFactory)
Add bean-created post processors.

Parameters:
beanFactory -

setInitialSingletonNames

public void setInitialSingletonNames(String[] initialSingletonNames)
Parameters:
initialSingletonNames - initial configuration beans to load, behaving as universal "dependsOn" targets

setConfigLocations

public void setConfigLocations(String[] configLocations)
Parameters:
configLocations - file paths of XML bean definition files to load before refresh


Copyright © 2003-2013 The Sakai Foundation. All Rights Reserved.