Package org.springframework.core.env

# Interface PropertyResolver

All Known Subinterfaces:
  `ConfigurableEnvironment`, `ConfigurablePropertyResolver`, `Environment`

All Known Implementing Classes:
  `AbstractEnvironment`, `AbstractPropertyResolver`, `PropertySourcesPropertyResolver`, `StandardEnvironment`

public interface PropertyResolver
Interface for resolving properties against any underlying source.

Since:
  3.1
Author:
  Chris Beams, Juergen Hoeller
See Also:
  - `Environment`
  - `PropertySourcesPropertyResolver`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`containsProperty(String key)`
Determine whether the given property key is available for resolution — for example, if the value for the given key is not `null`.
`String`
`getProperty(String key)`
Resolve the property value associated with the given key, or `null` if the key cannot be resolved.
`<T> T`
`getProperty(String key, Class<T> targetType)`
Resolve the property value associated with the given key, or `null` if the key cannot be resolved.
`<T> T`
`getProperty(String key, Class<T> targetType, T defaultValue)`
Resolve the property value associated with the given key, or `defaultValue` if the key cannot be resolved.
`String`
`getProperty(String key, String defaultValue)`
Resolve the property value associated with the given key, or `defaultValue` if the key cannot be resolved.
`String`
`getRequiredProperty(String key)`
Resolve the property value associated with the given key (never `null`).
`<T> T`
`getRequiredProperty(String key, Class<T> targetType)`
Resolve the property value associated with the given key, converted to the given targetType (never `null`).
`String`
`resolvePlaceholders(String text)`
Resolve ${...} placeholders in the given text, replacing them with corresponding property values as resolved by `getProperty(java.lang.String)`.
`String`
`resolveRequiredPlaceholders(String text)`
Resolve ${...} placeholders in the given text, replacing them with corresponding property values as resolved by `getProperty(java.lang.String)`.

## Method Details

### containsProperty

boolean containsProperty(String key)
Determine whether the given property key is available for resolution — for example, if the value for the given key is not `null`.

### getProperty

@Nullable String getProperty(String key)
Resolve the property value associated with the given key, or `null` if the key cannot be resolved.

Parameters:
  `key` - the property name to resolve
See Also:
  - `getProperty(String, String)`
  - `getProperty(String, Class)`
  - `getRequiredProperty(String)`

### getProperty

String getProperty(String key, String defaultValue)
Resolve the property value associated with the given key, or `defaultValue` if the key cannot be resolved.

Parameters:
  `key` - the property name to resolve
  `defaultValue` - the default value to return if no value is found
See Also:
  - `getRequiredProperty(String)`
  - `getProperty(String, Class)`

### getProperty

@Nullable <T> T getProperty(String key, Class<T> targetType)
Resolve the property value associated with the given key, or `null` if the key cannot be resolved.

Parameters:
  `key` - the property name to resolve
  `targetType` - the expected type of the property value
See Also:
  - `getRequiredProperty(String, Class)`

### getProperty

<T> T getProperty(String key, Class<T> targetType, T defaultValue)
Resolve the property value associated with the given key, or `defaultValue` if the key cannot be resolved.

Parameters:
  `key` - the property name to resolve
  `targetType` - the expected type of the property value
  `defaultValue` - the default value to return if no value is found
See Also:
  - `getRequiredProperty(String, Class)`

### getRequiredProperty

String getRequiredProperty(String key) throws IllegalStateException
Resolve the property value associated with the given key (never `null`).

Throws:
  `IllegalStateException` - if the key cannot be resolved
See Also:
  - `getRequiredProperty(String, Class)`

### getRequiredProperty

<T> T getRequiredProperty(String key, Class<T> targetType) throws IllegalStateException
Resolve the property value associated with the given key, converted to the given targetType (never `null`).

Throws:
  `IllegalStateException` - if the given key cannot be resolved

### resolvePlaceholders

String resolvePlaceholders(String text)
Resolve ${...} placeholders in the given text, replacing them with corresponding property values as resolved by `getProperty(java.lang.String)`. Unresolvable placeholders with no default value are ignored and passed through unchanged.

Parameters:
  `text` - the String to resolve
Returns:
  the resolved String (never `null`)
Throws:
  `IllegalArgumentException` - if given text is `null`
See Also:
  - `resolveRequiredPlaceholders(java.lang.String)`

### resolveRequiredPlaceholders

String resolveRequiredPlaceholders(String text) throws IllegalArgumentException
Resolve ${...} placeholders in the given text, replacing them with corresponding property values as resolved by `getProperty(java.lang.String)`. Unresolvable placeholders with no default value will cause an IllegalArgumentException to be thrown.

Returns:
  the resolved String (never `null`)
Throws:
  `IllegalArgumentException` - if given text is `null` or if any placeholders are unresolvable