in components/camel-blueprint/src/main/java/org/apache/camel/blueprint/handler/CamelNamespaceHandler.java [942:971]
protected void injectFields(final Object bean, final String beanName) {
Class<?> clazz = bean.getClass();
do {
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
PropertyInject propertyInject = field.getAnnotation(PropertyInject.class);
if (propertyInject != null) {
injectFieldProperty(field, bean, propertyInject.value(), propertyInject.defaultValue(), propertyInject.separator());
}
BeanInject beanInject = field.getAnnotation(BeanInject.class);
if (beanInject != null) {
injectFieldBean(field, bean, beanInject.value());
}
EndpointInject endpointInject = field.getAnnotation(EndpointInject.class);
if (endpointInject != null) {
String uri = endpointInject.value();
injectField(field, uri, endpointInject.property(), bean, beanName);
}
Produce produce = field.getAnnotation(Produce.class);
if (produce != null) {
String uri = produce.value();
injectField(field, uri, produce.property(), bean, beanName);
}
}
clazz = clazz.getSuperclass();
} while (clazz != null && clazz != Object.class);
}