Interface PropertyResolver
- All Superinterfaces:
ValueResolver<String>
- All Known Subinterfaces:
ApplicationContext
,ConditionContext<T>
,Environment
- All Known Implementing Classes:
DefaultApplicationContext
,DefaultEnvironment
,MapPropertyResolver
,PropertySourcePropertyResolver
- Since:
- 1.0
- Author:
- Graeme Rocher
-
Method Summary
Modifier and TypeMethodDescriptionboolean
containsProperties
(String name) Whether the given property or any nested properties exist for the key given key within this resolver.boolean
containsProperty
(String name) Whether the given property is contained within this resolver.default <T> Optional<T>
get
(String name, ArgumentConversionContext<T> conversionContext) Resolve the given property for the given name.getProperties
(String name) Return all the properties under the given key.getProperties
(String name, StringConvention keyFormat) Return all the properties under the given key.<T> Optional<T>
getProperty
(String name, ArgumentConversionContext<T> conversionContext) Resolve the given property for the given name, type and generic type arguments.default <T> Optional<T>
getProperty
(String name, Argument<T> argument) Resolve the given property for the given name, type and generic type arguments.default <T> Optional<T>
getProperty
(String name, Class<T> requiredType) Resolve the given property for the given name.default <T> Optional<T>
getProperty
(String name, Class<T> requiredType, ConversionContext context) Resolve the given property for the given name, type and generic type arguments.default <T> T
getProperty
(String name, Class<T> requiredType, T defaultValue) Resolve the given property for the given name.default Collection<String>
getPropertyEntries
(String name) Returns a collection of properties entries under the given key.getPropertyPathMatches
(String pathPattern) Will return for a given pattern such asfoo.*.bar.*
and array of arrays containing the variable names that match the pattern.default <T> T
getRequiredProperty
(String name, Class<T> requiredType) Resolve the given property for the given name.static String
Builds a property name for the given property path.Methods inherited from interface io.micronaut.core.value.ValueResolver
get, get, get
-
Method Details
-
containsProperty
Whether the given property is contained within this resolver.
Note that this method will return false for nested properties. In other words given a key of
foo.bar
this method will returnfalse
for:resolver.containsProperty("foo")
To check for nested properties using
containsProperties(String)
instead.- Parameters:
name
- The name of the property- Returns:
- True if it is
-
containsProperties
Whether the given property or any nested properties exist for the key given key within this resolver.- Parameters:
name
- The name of the property- Returns:
- True if it is
-
getProperty
@NonNull <T> Optional<T> getProperty(@NonNull String name, @NonNull ArgumentConversionContext<T> conversionContext) Resolve the given property for the given name, type and generic type arguments.
Implementers can choose to implement more intelligent type conversion by analyzing the typeArgument.
- Type Parameters:
T
- The concrete type- Parameters:
name
- The nameconversionContext
- The conversion context- Returns:
- An optional containing the property value if it exists
-
getPropertyEntries
Returns a collection of properties entries under the given key. For example given the following keys:datasource.default.url=localhost datasource.another.url=someother
getPropertyEntries(String)
with a value ofdatasource
will result in a collection containingdefault
andother
.- Parameters:
name
- The name to resolve- Returns:
- The property entries.
-
getProperty
Resolve the given property for the given name, type and generic type arguments.
Implementers can choose to implement more intelligent type conversion by analyzing the typeArgument.
- Type Parameters:
T
- The concrete type- Parameters:
name
- The nameargument
- The required type- Returns:
- An optional containing the property value if it exists
-
getProperties
Return all the properties under the given key.- Parameters:
name
- The name- Returns:
- The properties
-
getProperties
@NonNull default Map<String,Object> getProperties(@Nullable String name, @Nullable StringConvention keyFormat) Return all the properties under the given key. By default Micronaut stores keys in keb-case, such that normalized lookups are more efficient. You can obtain the raw key values by passing inStringConvention.RAW
.- Parameters:
name
- The namekeyFormat
- The key format to use for the keys. Default is kebab-case.- Returns:
- The properties
-
getProperty
@NonNull default <T> Optional<T> getProperty(@NonNull String name, @NonNull Class<T> requiredType, @NonNull ConversionContext context) Resolve the given property for the given name, type and generic type arguments.
Implementers can choose to implement more intelligent type conversion by analyzing the typeArgument.
- Type Parameters:
T
- The concrete type- Parameters:
name
- The namerequiredType
- The required typecontext
- TheConversionContext
to apply to any conversion- Returns:
- An optional containing the property value if it exists
-
get
@NonNull default <T> Optional<T> get(@NonNull String name, @NonNull ArgumentConversionContext<T> conversionContext) Description copied from interface:ValueResolver
Resolve the given property for the given name.- Specified by:
get
in interfaceValueResolver<String>
- Type Parameters:
T
- The concrete type- Parameters:
name
- The nameconversionContext
- The conversion context- Returns:
- An optional containing the property value if it exists and is able to be converted
-
getProperty
Resolve the given property for the given name.- Type Parameters:
T
- The concrete type- Parameters:
name
- The namerequiredType
- The required type- Returns:
- An optional containing the property value if it exists
-
getProperty
@Nullable default <T> T getProperty(@NonNull String name, @NonNull Class<T> requiredType, @Nullable T defaultValue) Resolve the given property for the given name.- Type Parameters:
T
- The concrete type- Parameters:
name
- The namerequiredType
- The required typedefaultValue
- The default value- Returns:
- An optional containing the property value if it exists
-
getRequiredProperty
@NonNull default <T> T getRequiredProperty(@NonNull String name, @NonNull Class<T> requiredType) throws PropertyNotFoundException Resolve the given property for the given name.- Type Parameters:
T
- The concrete type- Parameters:
name
- The name of the propertyrequiredType
- The required type- Returns:
- The value of the property
- Throws:
PropertyNotFoundException
- exception when property does not exist
-
nameOf
Builds a property name for the given property path.- Parameters:
path
- The path- Returns:
- The property name
-
getPropertyPathMatches
Will return for a given pattern such asfoo.*.bar.*
and array of arrays containing the variable names that match the pattern.- Parameters:
pathPattern
- The path pattern- Returns:
- An array of arrays.
- Since:
- 4.0.0
-