package org.test4j.module.spring.strategy.register; import java.lang.reflect.Field; import java.util.Set; import org.test4j.module.spring.annotations.SpringBeanByType; import org.test4j.tools.commons.AnnotationHelper; @SuppressWarnings({ "unchecked", "rawtypes" }) class SpringBeanByTypeRegister extends SpringBeanRegister { @Override protected Set<Field> getRegisterField(Class testedClazz) { Set<Field> fields = AnnotationHelper.getFieldsAnnotatedWith(testedClazz, SpringBeanByType.class); return fields; } @Override protected void initSpringBean(final Field field, final BeanMeta beanMeta) { SpringBeanByType byType = field.getAnnotation(SpringBeanByType.class); beanMeta.beanClaz = byType.value(); beanMeta.initMethod = byType.init(); beanMeta.beanName = field.getName(); beanMeta.properties = byType.properties(); } }