private <T> Object bindProperty(Bindable<T> target, Context context, ConfigurationProperty property) { context.setConfigurationProperty(property); Object result = property.getValue(); result = this.placeholdersResolver.resolvePlaceholders(result); result = context.getConverter().convert(result, target); return result; }
private boolean isScalarValue(ConfigurationPropertySource source, ConfigurationPropertyName name) { Class<?> resolved = this.valueType.resolve(Object.class); if (!resolved.getName().startsWith("java.lang") && !resolved.isEnum()) { return false; } ConfigurationProperty property = source.getConfigurationProperty(name); if (property == null) { return false; } Object value = property.getValue(); value = getContext().getPlaceholdersResolver().resolvePlaceholders(value); return getContext().getConverter().canConvert(value, this.valueType); }
private <C> C convert(Object value, ResolvableType type, Annotation... annotations) { value = getContext().getPlaceholdersResolver().resolvePlaceholders(value); return getContext().getConverter().convert(value, type, annotations); }
@SuppressWarnings("unchecked") private PropertyValueDescriptor describeValueOf(String name, PropertySource<?> source, PlaceholdersResolver resolver) { Object resolved = resolver.resolvePlaceholders(source.getProperty(name)); String origin = ((source instanceof OriginLookup) ? getOrigin((OriginLookup<Object>) source, name) : null); return new PropertyValueDescriptor(sanitize(name, resolved), origin); }