Package net.shibboleth.shared.spring.context

# Class DeferPlaceholderFileSystemXmlWebApplicationContext

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.context.support.AbstractRefreshableWebApplicationContext
org.springframework.web.context.support.XmlWebApplicationContext
net.shibboleth.shared.spring.context.FileSystemXmlWebApplicationContext
net.shibboleth.shared.spring.context.DeferPlaceholderFileSystemXmlWebApplicationContext

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`, `Aware`, `BeanFactory`, `BeanNameAware`, `HierarchicalBeanFactory`, `InitializingBean`, `ListableBeanFactory`, `ApplicationContext`, `ApplicationEventPublisher`, `ConfigurableApplicationContext`, `Lifecycle`, `MessageSource`, `EnvironmentCapable`, `ResourceLoader`, `ResourcePatternResolver`, `ConfigurableWebApplicationContext`, `WebApplicationContext`

Direct Known Subclasses:
  `DelimiterAwareApplicationContext`

public class DeferPlaceholderFileSystemXmlWebApplicationContext extends FileSystemXmlWebApplicationContext
An extension of `FileSystemXmlWebApplicationContext` that defers property placeholder resolution of config locations until after property sources have been initialized. This application context is intended to be used with an application context initializer which adds a properties file property source to the application context environment.

## Nested Class Summary

## Nested classes/interfaces inherited from class org.springframework.core.io.DefaultResourceLoader

`DefaultResourceLoader.ClassPathContextResource`

## Field Summary

Fields
Modifier and Type
Field
Description
`private boolean`
`propertySourcesInitialized`
Whether property sources have been initialized.

### Fields inherited from class org.springframework.web.context.support.XmlWebApplicationContext

`DEFAULT_CONFIG_LOCATION, DEFAULT_CONFIG_LOCATION_PREFIX, DEFAULT_CONFIG_LOCATION_SUFFIX`

### 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.beans.factory.BeanFactory

`FACTORY_BEAN_PREFIX, FACTORY_BEAN_PREFIX_CHAR`

### Fields inherited from interface org.springframework.context.ConfigurableApplicationContext

`APPLICATION_STARTUP_BEAN_NAME, BOOTSTRAP_EXECUTOR_BEAN_NAME, CONFIG_LOCATION_DELIMITERS, CONVERSION_SERVICE_BEAN_NAME, ENVIRONMENT_BEAN_NAME, LOAD_TIME_WEAVER_BEAN_NAME, SHUTDOWN_HOOK_THREAD_NAME, SYSTEM_ENVIRONMENT_BEAN_NAME, SYSTEM_PROPERTIES_BEAN_NAME`

### Fields inherited from interface org.springframework.web.context.ConfigurableWebApplicationContext

`APPLICATION_CONTEXT_ID_PREFIX, SERVLET_CONFIG_BEAN_NAME`

### Fields inherited from interface org.springframework.core.io.ResourceLoader

`CLASSPATH_URL_PREFIX`

### Fields inherited from interface org.springframework.core.io.support.ResourcePatternResolver

`CLASSPATH_ALL_URL_PREFIX`

### 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_REQUEST, SCOPE_SESSION, SERVLET_CONTEXT_BEAN_NAME`

## Constructor Summary

Constructors
Constructor
Description
`DeferPlaceholderFileSystemXmlWebApplicationContext()`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`initPropertySources()`
`protected String`
`resolvePath(String path)`

### Methods inherited from class net.shibboleth.shared.spring.context.FileSystemXmlWebApplicationContext

`createBeanFactory, getResource, getResourceByPath`

### Methods inherited from class org.springframework.web.context.support.XmlWebApplicationContext

`getDefaultConfigLocations, initBeanDefinitionReader, loadBeanDefinitions, loadBeanDefinitions`

### Methods inherited from class org.springframework.web.context.support.AbstractRefreshableWebApplicationContext

`createEnvironment, getApplicationName, getConfigLocations, getNamespace, getResourcePatternResolver, getServletConfig, getServletContext, postProcessBeanFactory, setNamespace, setServletConfig, setServletContext`

### Methods inherited from class org.springframework.context.support.AbstractRefreshableConfigApplicationContext

`afterPropertiesSet, setBeanName, setConfigLocation, setConfigLocations, setId`

### Methods inherited from class org.springframework.context.support.AbstractRefreshableApplicationContext

`assertBeanFactoryActive, cancelRefresh, closeBeanFactory, customizeBeanFactory, getBeanFactory, hasBeanFactory, refreshBeanFactory, setAllowBeanDefinitionOverriding, setAllowCircularReferences`

### Methods inherited from class org.springframework.context.support.AbstractApplicationContext

`addApplicationListener, addBeanFactoryPostProcessor, clearResourceCaches, close, containsBean, containsBeanDefinition, containsLocalBean, destroyBeans, doClose, findAllAnnotationsOnBean, findAnnotationOnBean, findAnnotationOnBean, finishBeanFactoryInitialization, finishRefresh, getAliases, getApplicationListeners, getApplicationStartup, getAutowireCapableBeanFactory, getBean, getBean, getBean, getBean, getBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanFactoryPostProcessors, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanProvider, getBeanProvider, getBeanProvider, getBeanProvider, getBeanProvider, getBeansOfType, getBeansOfType, getBeansWithAnnotation, getDisplayName, getEnvironment, getId, getInternalParentBeanFactory, getInternalParentMessageSource, getMessage, getMessage, getMessage, getParent, getParentBeanFactory, getResources, getStartupDate, getType, getType, initApplicationEventMulticaster, initLifecycleProcessor, initMessageSource, invokeBeanFactoryPostProcessors, isActive, isClosed, isPrototype, isRunning, isSingleton, isTypeMatch, isTypeMatch, obtainFreshBeanFactory, onClose, onRefresh, pause, prepareBeanFactory, prepareRefresh, publishEvent, publishEvent, publishEvent, refresh, registerBeanPostProcessors, registerListeners, registerShutdownHook, removeApplicationListener, resetCommonCaches, restart, setApplicationStartup, setDisplayName, setEnvironment, setParent, start, stop, toString`

### Methods inherited from class org.springframework.core.io.DefaultResourceLoader

`addProtocolResolver, getClassLoader, getProtocolResolvers, getResourceCache, 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.ApplicationContext

`getAutowireCapableBeanFactory, getDisplayName, getId, getParent, getStartupDate`

### Methods inherited from interface org.springframework.context.ApplicationEventPublisher

`publishEvent, publishEvent`

### Methods inherited from interface org.springframework.beans.factory.BeanFactory

`containsBean, getAliases, getBean, getBean, getBean, getBean, getBean, getBeanProvider, getBeanProvider, getBeanProvider, getType, getType, isPrototype, isSingleton, isTypeMatch, isTypeMatch`

### Methods inherited from interface org.springframework.context.ConfigurableApplicationContext

`addApplicationListener, addBeanFactoryPostProcessor, addProtocolResolver, close, getApplicationStartup, getBeanFactory, getEnvironment, isActive, isClosed, pause, refresh, registerShutdownHook, removeApplicationListener, restart, setApplicationStartup, setClassLoader, setEnvironment, setId, setParent`

### Methods inherited from interface org.springframework.web.context.ConfigurableWebApplicationContext

`setConfigLocation, setConfigLocations`

### Methods inherited from interface org.springframework.beans.factory.HierarchicalBeanFactory

`containsLocalBean, getParentBeanFactory`

### Methods inherited from interface org.springframework.context.Lifecycle

`isRunning, start, stop`

### Methods inherited from interface org.springframework.beans.factory.ListableBeanFactory

`containsBeanDefinition, findAllAnnotationsOnBean, findAnnotationOnBean, findAnnotationOnBean, getBeanDefinitionCount, getBeanDefinitionNames, getBeanNamesForAnnotation, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanNamesForType, getBeanProvider, getBeanProvider, getBeansOfType, getBeansOfType, getBeansWithAnnotation`

### Methods inherited from interface org.springframework.context.MessageSource

`getMessage, getMessage, getMessage`

### Methods inherited from interface org.springframework.core.io.ResourceLoader

`getClassLoader`

### Methods inherited from interface org.springframework.core.io.support.ResourcePatternResolver

`getResources`

## Field Details

### propertySourcesInitialized

private boolean propertySourcesInitialized
Whether property sources have been initialized.

## Constructor Details

### DeferPlaceholderFileSystemXmlWebApplicationContext

public DeferPlaceholderFileSystemXmlWebApplicationContext()

## Method Details

### initPropertySources

protected void initPropertySources()

Resolve config locations property placeholders after property sources have been initialized.

Overrides:
  `initPropertySources` in class `AbstractRefreshableWebApplicationContext`

### resolvePath

@Nonnull protected String resolvePath(@Nonnull String path)

Resolve property placeholders only if property sources have been initialized, otherwise return the path unchanged.

Overrides:
  `resolvePath` in class `AbstractRefreshableConfigApplicationContext`