Package org.springframework.core.io.support

# Interface PropertySourceFactory

All Known Implementing Classes:
  `DefaultPropertySourceFactory`

public interface PropertySourceFactory
Strategy interface for creating resource-based `PropertySource` wrappers.

Since:
  4.3
Author:
  Juergen Hoeller
See Also:
  - `DefaultPropertySourceFactory`
  - `ResourcePropertySource`

## Method Summary

Modifier and Type
Method
Description
`PropertySource<?>`
`createPropertySource(String name, EncodedResource resource)`
Create a `PropertySource` that wraps the given resource.

## Method Details

### createPropertySource

PropertySource<?> createPropertySource(@Nullable String name, EncodedResource resource) throws IOException
Create a `PropertySource` that wraps the given resource.

Implementations will typically create `ResourcePropertySource` instances, with `PropertySourceProcessor` automatically adapting property source names via `ResourcePropertySource.withResourceName()` if necessary, for example, when combining multiple sources for the same name into a `CompositePropertySource`. Custom implementations with custom `PropertySource` types need to make sure to expose distinct enough names, possibly deriving from `ResourcePropertySource` where possible.

Parameters:
  `name` - the name of the property source (can be `null` in which case the factory implementation will have to generate a name based on the given resource)
  `resource` - the resource (potentially encoded) to wrap
Returns:
  the new `PropertySource` (never `null`)
Throws:
  `IOException` - if resource resolution failed