|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
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
public abstract class AbstractRefreshablePortletApplicationContext
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
).
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, 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 | |
---|---|
AbstractRefreshablePortletApplicationContext()
|
Method Summary | |
---|---|
protected ConfigurableEnvironment |
createEnvironment()
Create and return a new StandardPortletEnvironment . |
protected void |
customizeBeanFactory(DefaultListableBeanFactory beanFactory)
Customize the internal bean factory used by this context. |
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. |
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 |
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(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.AbstractRefreshableConfigApplicationContext |
---|
afterPropertiesSet, getDefaultConfigLocations, resolvePath, setBeanName, setConfigLocation, setConfigLocations, setId |
Methods inherited from class org.springframework.context.support.AbstractRefreshableApplicationContext |
---|
cancelRefresh, closeBeanFactory, createBeanFactory, getBeanFactory, hasBeanFactory, loadBeanDefinitions, refreshBeanFactory, setAllowBeanDefinitionOverriding, setAllowCircularReferences |
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, 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 |
Constructor Detail |
---|
public AbstractRefreshablePortletApplicationContext()
Method Detail |
---|
public void setParent(ApplicationContext parent)
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.
The parent environment is
delegated to this (child) context if the parent is a
ConfigurableApplicationContext
implementation.
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.
setParent
in interface ConfigurableApplicationContext
setParent
in class AbstractApplicationContext
parent
- the parent contextConfigurableWebApplicationContext
public ServletContext getServletContext()
WebApplicationContext
Also available for a Portlet application, in addition to the PortletContext.
getServletContext
in interface WebApplicationContext
public void setPortletContext(PortletContext portletContext)
ConfigurablePortletApplicationContext
Does not cause an initialization of the context: refresh needs to be called after the setting of all configuration properties.
setPortletContext
in interface ConfigurablePortletApplicationContext
ConfigurableApplicationContext.refresh()
public PortletContext getPortletContext()
ConfigurablePortletApplicationContext
getPortletContext
in interface ConfigurablePortletApplicationContext
public void setPortletConfig(PortletConfig portletConfig)
ConfigurablePortletApplicationContext
setPortletConfig
in interface ConfigurablePortletApplicationContext
ConfigurableApplicationContext.refresh()
public PortletConfig getPortletConfig()
ConfigurablePortletApplicationContext
getPortletConfig
in interface ConfigurablePortletApplicationContext
public void setNamespace(String namespace)
ConfigurablePortletApplicationContext
setNamespace
in interface ConfigurablePortletApplicationContext
public String getNamespace()
ConfigurablePortletApplicationContext
getNamespace
in interface ConfigurablePortletApplicationContext
public String[] getConfigLocations()
AbstractRefreshableConfigApplicationContext
The default implementation returns null
. Subclasses can override
this to provide a set of resource locations to load bean definitions from.
getConfigLocations
in interface ConfigurablePortletApplicationContext
getConfigLocations
in class AbstractRefreshableConfigApplicationContext
null
if noneAbstractApplicationContext.getResources(java.lang.String)
,
AbstractApplicationContext.getResourcePatternResolver()
protected void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)
PortletContextAwareProcessor
, etc.
postProcessBeanFactory
in class AbstractApplicationContext
beanFactory
- the bean factory used by the application contextprotected ConfigurableEnvironment createEnvironment()
StandardPortletEnvironment
.
createEnvironment
in class AbstractApplicationContext
protected Resource getResourceByPath(String path)
getResourceByPath
in class DefaultResourceLoader
path
- the path to the resource
PortletContextResource
protected ResourcePatternResolver getResourcePatternResolver()
getResourcePatternResolver
in class AbstractApplicationContext
PortletContextResourcePatternResolver
protected void customizeBeanFactory(DefaultListableBeanFactory beanFactory)
AbstractRefreshableApplicationContext
AbstractApplicationContext.refresh()
attempt.
The default implementation applies this context's
"allowBeanDefinitionOverriding"
and "allowCircularReferences" settings,
if specified. Can be overridden in subclasses to customize any of
DefaultListableBeanFactory
's settings.
customizeBeanFactory
in class AbstractRefreshableApplicationContext
beanFactory
- the newly created bean factory for this contextDefaultListableBeanFactory.setAllowBeanDefinitionOverriding(boolean)
,
AbstractAutowireCapableBeanFactory.setAllowCircularReferences(boolean)
,
AbstractAutowireCapableBeanFactory.setAllowRawInjectionDespiteWrapping(boolean)
,
DefaultListableBeanFactory.setAllowEagerClassLoading(boolean)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |