protected void doBeanConfigure(Object bean, ReflectValued v, String keyPrefix, ConfigProperty a) { String defaultValue = null == a ? null : a.defaultValue(); if(null != a) { String[] keys = a.key(); if(keys.length == 0) { keys = a.value(); } if(keys.length > 0) { for(String key : keys) { if(doBeanConfigureByKey(bean, v, key(keyPrefix, key), defaultValue)) { break; } } return; } } if(doBeanConfigureByKey(bean, v, keyPrefix + v.getName(), defaultValue)) { return; } if(doBeanConfigureByKey(bean, v, keyPrefix + Strings.lowerHyphen(v.getName()), defaultValue)) { return; } if(doBeanConfigureByKey(bean, v, keyPrefix + Strings.lowerUnderscore(v.getName()), defaultValue)) { return; } }
protected KeyAndDataSource resolveSqlIdentity(BeanDefinition bd, ReflectValued v, Inject inject) { String key = Strings.firstNotEmpty(inject.name(), inject.value()); SqlKey sk = v.getAnnotation(SqlKey.class); if (null != sk) { return resolveSqlIdentity(bd, v, sk); } if (Strings.isEmpty(key)) { key = v.getName(); } return new KeyAndDataSource(key, null); }
return resolveInjectValue(beanFactory, bd, v.getName(), v.getType(), v.getGenericType(), v.getAnnotations(), beanName);
private void configureNested(Object bean, String keyPrefix, ReflectValued member, Configurable.Nested nested) { String nestedPrefix = nested.prefix(); if(Strings.isEmpty(nestedPrefix)) { nestedPrefix = Strings.lowerUnderscore(member.getName()); if(nestedPrefix.endsWith("_config")) { nestedPrefix = Strings.removeEnd(nestedPrefix, "_config"); } } String fullKeyPrefix = keyPrefix(keyPrefix + nestedPrefix); Object nestedBean = member.getValue(bean); BeanType nestedType; if(null == nestedBean) { nestedType = BeanType.of(member.getType()); nestedBean = nestedType.newInstance(); member.setValue(bean, nestedBean); }else{ nestedType = BeanType.of(nestedBean.getClass()); } configure(nestedBean, nestedType, fullKeyPrefix); }
throw new BeanCreationException("Error configure property '" + bean.getClass().getName() + "#" + v.getName() + "' using config key '" + key + "', " + e.getMessage(), e);