## org.springframework.web.portlet.context
Class StaticPortletApplicationContext

    java.lang.Object
      org.springframework.core.io.DefaultResourceLoader
          org.springframework.context.support.AbstractApplicationContext
              org.springframework.context.support.GenericApplicationContext
                  org.springframework.context.support.StaticApplicationContext
                      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`