java.lang.Object | |
↳ | org.springframework.core.env.PropertySource<T> |
Known Direct Subclasses |
Known Indirect Subclasses |
Abstract base class representing a source of key/value property pairs. The underlying
source object
may be of any type T
that encapsulates
properties. Examples include Properties
objects, Map
objects, ServletContext
and ServletConfig
objects (for access to init parameters).
Explore the PropertySource
type hierarchy to see provided implementations.
PropertySource
objects are not typically used in isolation, but rather through a
PropertySources
object, which aggregates property sources and in conjunction with
a PropertyResolver
implementation that can perform precedence-based searches across
the set of PropertySources
.
PropertySource
identity is determined not based on the content of encapsulated
properties, but rather based on the name
of the PropertySource
alone. This is useful for manipulating PropertySource
objects when in collection
contexts. See operations in MutablePropertySources
as well as the
named(String)
and toString()
methods for details.
Nested Classes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
PropertySource.StubPropertySource | PropertySource to be used as a placeholder in cases where an actual
property source cannot be eagerly initialized at application context
creation time. |
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
logger | |||||||||||
name | |||||||||||
source |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Create a new
PropertySource with the given name and source object. | |||||||||||
Create a new
PropertySource with the given name and with a new Object
instance as the underlying source. |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Return whether this
PropertySource contains the given key. | |||||||||||
This
PropertySource object is equal to the given object if:
No properties other than | |||||||||||
Return the name of this
PropertySource
| |||||||||||
Return the value associated with the given key,
null if not found. | |||||||||||
Return the underlying source object for this
PropertySource . | |||||||||||
Return a hashcode derived from the
name property of this PropertySource
object. | |||||||||||
Return a
PropertySource implementation intended for collection comparison purposes only. | |||||||||||
Produce concise output (type and name) if the current log level does not include debug.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
Create a new PropertySource
with the given name and source object.
Create a new PropertySource
with the given name and with a new Object
instance as the underlying source.
Often useful in testing scenarios when creating anonymous implementations that never query an actual source, but rather return hard-coded values.
Return whether this PropertySource
contains the given key.
This implementation simply checks for a null return value
from getProperty(String)
. Subclasses may wish to
implement a more efficient algorithm if possible.
key | the property key to find |
---|
This PropertySource
object is equal to the given object if:
name
properties for both objects are equal
No properties other than name
are evaluated.
Return the value associated with the given key, null
if not found.
key | the property key to find |
---|
Return a hashcode derived from the name
property of this PropertySource
object.
Return a PropertySource
implementation intended for collection comparison purposes only.
Primarily for internal use, but given a collection of PropertySource
objects, may be
used as follows:
List<PropertySource<?>> sources = new ArrayList<PropertySource<?>>();
sources.add(new MapPropertySource("sourceA", mapA));
sources.add(new MapPropertySource("sourceB", mapB));
assert sources.contains(PropertySource.named("sourceA"));
assert sources.contains(PropertySource.named("sourceB"));
assert !sources.contains(PropertySource.named("sourceC"));
The returned PropertySource
will throw UnsupportedOperationException
if any methods other than equals(Object)
, hashCode()
, and toString()
are called.
name | the name of the comparison PropertySource to be created and returned.
|
---|
Produce concise output (type and name) if the current log level does not include debug. If debug is enabled, produce verbose output including hashcode of the PropertySource instance and every key/value property pair. This variable verbosity is useful as a property source such as system properties or environment variables may contain an arbitrary number of property pairs, potentially leading to difficult to read exception and log messages.