org.springframework.web.portlet.context
Class StaticPortletApplicationContext

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.springframework.context.support.StaticApplicationContext
                  extended by org.springframework.web.portlet.context.StaticPortletApplicationContext
All Implemented Interfaces:
BeanFactory, DisposableBean, HierarchicalBeanFactory, ListableBeanFactory, BeanDefinitionRegistry, ApplicationContext, ApplicationEventPublisher, ConfigurableApplicationContext, Lifecycle, MessageSource, AliasRegistry, EnvironmentCapable, ResourceLoader, ResourcePatternResolver, WebApplicationContext, ConfigurablePortletApplicationContext

public class StaticPortletApplicationContext
extends StaticApplicationContext
implements ConfigurablePortletApplicationContext

Static Portlet-based ApplicationContext implementation for testing. Not intended for use in production applications.

Implements the ConfigurablePortletApplicationContext interface to allow for direct replacement of an XmlPortletApplicationContext, despite not actually supporting external configuration files.

Interprets resource paths as portlet context resources, that is, as paths beneath the portlet application root. Absolute paths, for example for files outside the portlet app root, can be accessed via "file:" URLs, as implemented by DefaultResourceLoader.

Since:
2.0
Author:
Juergen Hoeller, Mark Fisher

Field Summary
 
Fields inherited from class org.springframework.context.support.AbstractApplicationContext
APPLICATION_EVENT_MULTICASTER_BEAN_NAME, LIFECYCLE_PROCESSOR_BEAN_NAME, logger, MESSAGE_SOURCE_BEAN_NAME
 
Fields inherited from interface org.springframework.web.portlet.context.ConfigurablePortletApplicationContext
APPLICATION_CONTEXT_ID_PREFIX, PORTLET_CONFIG_BEAN_NAME, PORTLET_CONTEXT_BEAN_NAME
 
Fields inherited from interface org.springframework.web.context.WebApplicationContext
CONTEXT_ATTRIBUTES_BEAN_NAME, CONTEXT_PARAMETERS_BEAN_NAME, ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, SCOPE_APPLICATION, SCOPE_GLOBAL_SESSION, SCOPE_REQUEST, SCOPE_SESSION, SERVLET_CONTEXT_BEAN_NAME
 
Fields inherited from interface org.springframework.context.ConfigurableApplicationContext
CONFIG_LOCATION_DELIMITERS, CONVERSION_SERVICE_BEAN_NAME, ENVIRONMENT_BEAN_NAME, LOAD_TIME_WEAVER_BEAN_NAME, SYSTEM_ENVIRONMENT_BEAN_NAME, SYSTEM_PROPERTIES_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
StaticPortletApplicationContext()
           
 
Method Summary
protected  ConfigurableEnvironment createEnvironment()
          Return a new StandardPortletEnvironment
 String[] getConfigLocations()
          Return the config locations for this web application context, or null if none specified.
 String getNamespace()
          Return the namespace for this web application context, if any.
 PortletConfig getPortletConfig()
          Return the PortletConfig for this portlet application context, if any.
 PortletContext getPortletContext()
          Return the standard Portlet API PortletContext for this application.
protected  Resource getResourceByPath(String path)
          This implementation supports file paths beneath the root of the PortletContext.
protected  ResourcePatternResolver getResourcePatternResolver()
          This implementation supports pattern matching in unexpanded WARs too.
 ServletContext getServletContext()
          Return the standard Servlet API ServletContext for this application.
protected  void initPropertySources()
          Replace any stub property sources with actual instances.
protected  void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
          Register request/session scopes, a PortletContextAwareProcessor, etc.
 void setConfigLocation(String configLocation)
          The StaticPortletApplicationContext class does not support this method.
 void setConfigLocations(String[] configLocations)
          The StaticPortletApplicationContext class does not support this method.
 void setNamespace(String namespace)
          Set the namespace for this portlet application context, to be used for building a default context config location.
 void setParent(ApplicationContext parent)
          Set the parent of this application context, also setting the parent of the internal BeanFactory accordingly.
 void setPortletConfig(PortletConfig portletConfig)
          Set the PortletConfig for this portlet application context.
 void setPortletContext(PortletContext portletContext)
          Set the PortletContext for this portlet application context.
 
Methods inherited from class org.springframework.context.support.StaticApplicationContext
addMessage, getStaticMessageSource, registerPrototype, registerPrototype, registerSingleton, registerSingleton
 
Methods inherited from class org.springframework.context.support.GenericApplicationContext
cancelRefresh, closeBeanFactory, getBeanDefinition, getBeanFactory, getDefaultListableBeanFactory, getResource, getResources, isAlias, isBeanNameInUse, refreshBeanFactory, registerAlias, registerBeanDefinition, removeAlias, removeBeanDefinition, setAllowBeanDefinitionOverriding, setAllowCircularReferences, setId, setResourceLoader
 
Methods inherited from class org.springframework.context.support.AbstractApplicationContext
addApplicationListener, addBeanFactoryPostProcessor, addListener, close, containsBean, containsBeanDefinition, containsLocalBean, destroy, destroyBeans, doClose, findAnnotationOnBean, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getAutowireCapableBeanFactory, getBean, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getBeansWithAnnotation, getDisplayName, getEnvironment, getId, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getStartupDate, getType, initApplicationEventMulticaster, initLifecycleProcessor, initMessageSource, invokeBeanFactoryPostProcessors, isActive, isPrototype, isRunning, isSingleton, isTypeMatch, obtainFreshBeanFactory, onClose, onRefresh, prepareBeanFactory, prepareRefresh, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, setDisplayName, setEnvironment, start, stop, toString
 
Methods inherited from class org.springframework.core.io.DefaultResourceLoader
getClassLoader, setClassLoader
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.springframework.context.ConfigurableApplicationContext
addApplicationListener, addBeanFactoryPostProcessor, close, getBeanFactory, getEnvironment, isActive, refresh, registerShutdownHook, setEnvironment, setId
 
Methods inherited from interface org.springframework.context.ApplicationContext
getAutowireCapableBeanFactory, getDisplayName, getId, getParent, getStartupDate
 
Methods inherited from interface org.springframework.beans.factory.ListableBeanFactory
containsBeanDefinition, findAnnotationOnBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType, getBeansWithAnnotation
 
Methods inherited from interface org.springframework.beans.factory.HierarchicalBeanFactory
containsLocalBean, getParentBeanFactory
 
Methods inherited from interface org.springframework.beans.factory.BeanFactory
containsBean, getAliases, getBean, getBean, getBean, getBean, getType, isPrototype, isSingleton, isTypeMatch
 
Methods inherited from interface org.springframework.context.MessageSource
getMessage, getMessage, getMessage
 
Methods inherited from interface org.springframework.context.ApplicationEventPublisher
publishEvent
 
Methods inherited from interface org.springframework.core.io.support.ResourcePatternResolver
getResources
 
Methods inherited from interface org.springframework.core.io.ResourceLoader
getClassLoader, getResource
 
Methods inherited from interface org.springframework.context.Lifecycle
isRunning, start, stop
 
Methods inherited from interface org.springframework.beans.factory.support.BeanDefinitionRegistry
containsBeanDefinition, getBeanDefinitionCount, getBeanDefinitionNames
 
Methods inherited from interface org.springframework.core.AliasRegistry
getAliases
 

Constructor Detail

StaticPortletApplicationContext

public StaticPortletApplicationContext()
Method Detail

createEnvironment

protected ConfigurableEnvironment createEnvironment()
Return a new StandardPortletEnvironment

Overrides:
createEnvironment in class AbstractApplicationContext

initPropertySources

protected void initPropertySources()

Replace any stub property sources with actual instances.

Replace Portlet- and Servlet-related property sources.

Overrides:
initPropertySources in class AbstractApplicationContext
See Also:
PropertySource.StubPropertySource, WebApplicationContextUtils.initServletPropertySources(org.springframework.core.env.MutablePropertySources, javax.servlet.ServletContext)

setParent

public void setParent(ApplicationContext parent)
Set the parent of this application context, also setting the parent of the internal BeanFactory accordingly.

The parent environment is delegated to this (child) context if the parent is a ConfigurableApplicationContext implementation.

The parent servlet context is delegated to this (child) context if the parent is a WebApplicationContext implementation.

Specified by:
setParent in interface ConfigurableApplicationContext
Overrides:
setParent in class GenericApplicationContext
Parameters:
parent - the parent context
See Also:
ConfigurableBeanFactory.setParentBeanFactory(org.springframework.beans.factory.BeanFactory)

getServletContext

public ServletContext getServletContext()
Description copied from interface: WebApplicationContext
Return the standard Servlet API ServletContext for this application.

Also available for a Portlet application, in addition to the PortletContext.

Specified by:
getServletContext in interface WebApplicationContext

setPortletContext

public void setPortletContext(PortletContext portletContext)
Description copied from interface: ConfigurablePortletApplicationContext
Set the PortletContext for this portlet application context.

Does not cause an initialization of the context: refresh needs to be called after the setting of all configuration properties.

Specified by:
setPortletContext in interface ConfigurablePortletApplicationContext
See Also:
ConfigurableApplicationContext.refresh()

getPortletContext

public PortletContext getPortletContext()
Description copied from interface: ConfigurablePortletApplicationContext
Return the standard Portlet API PortletContext for this application.

Specified by:
getPortletContext in interface ConfigurablePortletApplicationContext

setPortletConfig

public void setPortletConfig(PortletConfig portletConfig)
Description copied from interface: ConfigurablePortletApplicationContext
Set the PortletConfig for this portlet application context.

Specified by:
setPortletConfig in interface ConfigurablePortletApplicationContext
See Also:
ConfigurableApplicationContext.refresh()

getPortletConfig

public PortletConfig getPortletConfig()
Description copied from interface: ConfigurablePortletApplicationContext
Return the PortletConfig for this portlet application context, if any.

Specified by:
getPortletConfig in interface ConfigurablePortletApplicationContext

setNamespace

public void setNamespace(String namespace)
Description copied from interface: ConfigurablePortletApplicationContext
Set the namespace for this portlet application context, to be used for building a default context config location.

Specified by:
setNamespace in interface ConfigurablePortletApplicationContext

getNamespace

public String getNamespace()
Description copied from interface: ConfigurablePortletApplicationContext
Return the namespace for this web application context, if any.

Specified by:
getNamespace in interface ConfigurablePortletApplicationContext

setConfigLocation

public void setConfigLocation(String configLocation)
The StaticPortletApplicationContext class does not support this method.

Specified by:
setConfigLocation in interface ConfigurablePortletApplicationContext
Throws:
UnsupportedOperationException - always

setConfigLocations

public void setConfigLocations(String[] configLocations)
The StaticPortletApplicationContext class does not support this method.

Specified by:
setConfigLocations in interface ConfigurablePortletApplicationContext
Throws:
UnsupportedOperationException - always

getConfigLocations

public String[] getConfigLocations()
Description copied from interface: ConfigurablePortletApplicationContext
Return the config locations for this web application context, or null if none specified.

Specified by:
getConfigLocations in interface ConfigurablePortletApplicationContext

postProcessBeanFactory

protected void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
Register request/session scopes, a PortletContextAwareProcessor, etc.

Overrides:
postProcessBeanFactory in class AbstractApplicationContext
Parameters:
beanFactory - the bean factory used by the application context

getResourceByPath

protected Resource getResourceByPath(String path)
This implementation supports file paths beneath the root of the PortletContext.

Overrides:
getResourceByPath in class DefaultResourceLoader
Parameters:
path - the path to the resource
Returns:
the corresponding Resource handle
See Also:
PortletContextResource

getResourcePatternResolver

protected ResourcePatternResolver getResourcePatternResolver()
This implementation supports pattern matching in unexpanded WARs too.

Overrides:
getResourcePatternResolver in class AbstractApplicationContext
Returns:
the ResourcePatternResolver for this context
See Also:
PortletContextResourcePatternResolver