The Spring Framework

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

    java.lang.Object
      org.springframework.core.io.DefaultResourceLoader
          org.springframework.context.support.AbstractApplicationContext
              org.springframework.context.support.AbstractRefreshableApplicationContext
                  org.springframework.context.support.AbstractRefreshableConfigApplicationContext
                      org.springframework.web.portlet.context.AbstractRefreshablePortletApplicationContext

All Implemented Interfaces:
  BeanFactory, BeanNameAware, DisposableBean, HierarchicalBeanFactory, InitializingBean, ListableBeanFactory, ApplicationContext, ApplicationEventPublisher, ConfigurableApplicationContext, Lifecycle, MessageSource, ResourceLoader, ResourcePatternResolver, WebApplicationContext, ConfigurablePortletApplicationContext

Direct Known Subclasses:
  XmlPortletApplicationContext

    public abstract class AbstractRefreshablePortletApplicationContext

extends AbstractRefreshableConfigApplicationContext
implements WebApplicationContext, ConfigurablePortletApplicationContext

`AbstractRefreshableApplicationContext` subclass which implements the `ConfigurablePortletApplicationContext` interface for portlet environments. Provides a "configLocations" property, to be populated through the ConfigurablePortletApplicationContext interface on portlet application startup.

This class is as easy to subclass as AbstractRefreshableApplicationContext: All you need to implements is the `AbstractRefreshableApplicationContext.loadBeanDefinitions(org.springframework.beans.factory.support.DefaultListableBeanFactory)` method; see the superclass javadoc for details. Note that implementations are supposed to load bean definitions from the files specified by the locations returned by the `getConfigLocations()` method.

Interprets resource paths as servlet context resources, i.e. as paths beneath the web application root. Absolute paths, e.g. for files outside the web app root, can be accessed via "file:" URLs, as implemented by `DefaultResourceLoader`.

This is the portlet context to be subclassed for a different bean definition format. Such a context implementation can be specified as "contextClass" init-param for FrameworkPortlet, replacing the default `XmlPortletApplicationContext`. It will then automatically receive the "contextConfigLocation" init-param.

Note that Portlet-based context implementations are generally supposed to configure themselves based on the configuration received through the `ConfigurablePortletApplicationContext` interface. In contrast, a standalone application context might allow for configuration in custom startup code (for example, `GenericApplicationContext`).

Since:
  2.0
Author:
  Juergen Hoeller, John A. Lewis
See Also:
  `AbstractRefreshableApplicationContext.loadBeanDefinitions(org.springframework.beans.factory.support.DefaultListableBeanFactory)`, `ConfigurablePortletApplicationContext.setConfigLocations(java.lang.String[])`, `XmlPortletApplicationContext`

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.web.context.WebApplicationContext
`ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, SCOPE_GLOBAL_SESSION, SCOPE_REQUEST, SCOPE_SESSION`

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
`AbstractRefreshablePortletApplicationContext()`

Method Summary
`String[]` `getConfigLocations()` Return an array of resource locations, referring to the XML bean definition files that this context should be built with.
`String` `getNamespace()` Return the namespace for this web application context, if any.
`javax.portlet.PortletConfig` `getPortletConfig()` Return the PortletConfig for this portlet application context, if any.
`javax.portlet.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` `postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)` Register request/session scopes, a `PortletContextAwareProcessor`, etc.
`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.
`void` `setPortletConfig(javax.portlet.PortletConfig portletConfig)` Set the PortletConfig for this portlet application context.
`void` `setPortletContext(javax.portlet.PortletContext portletContext)` Set the PortletContext for this portlet application context.

Methods inherited from class org.springframework.context.support.AbstractRefreshableConfigApplicationContext
`afterPropertiesSet, getDefaultConfigLocations, resolvePath, setBeanName, setConfigLocation, setConfigLocations, setId`

Methods inherited from class org.springframework.context.support.AbstractRefreshableApplicationContext
`closeBeanFactory, createBeanFactory, customizeBeanFactory, getBeanFactory, hasBeanFactory, loadBeanDefinitions, refreshBeanFactory, setAllowBeanDefinitionOverriding, setAllowCircularReferences`

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, getResources, getStartupDate, getType, initApplicationEventMulticaster, initMessageSource, invokeBeanFactoryPostProcessors, isActive, isPrototype, isRunning, isSingleton, isTypeMatch, obtainFreshBeanFactory, onClose, onRefresh, prepareBeanFactory, prepareRefresh, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, setDisplayName, start, stop, toString`

Methods inherited from class org.springframework.core.io.DefaultResourceLoader
`getClassLoader, getResource, setClassLoader`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.springframework.web.portlet.context.ConfigurablePortletApplicationContext
`setConfigLocation, setConfigLocations`

Methods inherited from interface org.springframework.context.ConfigurableApplicationContext
`addApplicationListener, addBeanFactoryPostProcessor, close, getBeanFactory, isActive, refresh, registerShutdownHook`

Methods inherited from interface org.springframework.context.ApplicationContext
`getAutowireCapableBeanFactory, getDisplayName, getId, getParent, getStartupDate`

Methods inherited from interface org.springframework.beans.factory.ListableBeanFactory
`containsBeanDefinition, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForType, getBeanNamesForType, getBeansOfType, getBeansOfType`

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, 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`

Constructor Detail

### AbstractRefreshablePortletApplicationContext

    public AbstractRefreshablePortletApplicationContext()

Method Detail

### setParent

    public void setParent(ApplicationContext parent)

  Description copied from interface: `ConfigurableApplicationContext`
  Set the parent of this application context.

  Note that the parent shouldn't be changed: It should only be set outside a constructor if it isn't available when an object of this class is created, for example in case of WebApplicationContext setup.

  Specified by:
    `setParent` in interface `ConfigurableApplicationContext`
  Overrides:
    `setParent` in class `AbstractApplicationContext`
  Parameters:
    `parent` - the parent context
  See Also:
    `ConfigurableWebApplicationContext`

### getServletContext

    public ServletContext getServletContext()

  Description copied from interface: `WebApplicationContext`
  Return the standard Servlet API ServletContext for this application.

  Specified by:
    `getServletContext` in interface `WebApplicationContext`

### setPortletContext

    public void setPortletContext(javax.portlet.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 javax.portlet.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(javax.portlet.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 javax.portlet.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`

### getConfigLocations

    public String[] getConfigLocations()

  Description copied from class: `AbstractRefreshableConfigApplicationContext`
  Return an array of resource locations, referring to the XML bean definition files that this context should be built with. Can also include location patterns, which will get resolved via a ResourcePatternResolver.

  The default implementation returns `null`. Subclasses can override this to provide a set of resource locations to load bean definitions from.

  Specified by:
    `getConfigLocations` in interface `ConfigurablePortletApplicationContext`
  Overrides:
    `getConfigLocations` in class `AbstractRefreshableConfigApplicationContext`
  Returns:
    an array of resource locations, or `null` if none
  See Also:
    `AbstractApplicationContext.getResources(java.lang.String)`, `AbstractApplicationContext.getResourcePatternResolver()`

### 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`

The Spring Framework

Copyright © 2002-2008 The Spring Framework.