for (Field field : clazz.getDeclaredFields())
{
Annotation[] annotations = field.getAnnotations();
if (annotations == null || annotations.length == 0) continue;
Class<?> type = field.getType();
Type genericType = field.getGenericType();
ValueInjector extractor = getParameterExtractor(clazz, factory, field, annotations, type, genericType);
if (extractor != null)
{
if (!Modifier.isPublic(field.getModifiers())) field.setAccessible(true);
fieldMap.put(field, extractor);
}
}
for (Method method : clazz.getDeclaredMethods())
{
if (!method.getName().startsWith("set")) continue;
if (method.getParameterTypes().length != 1) continue;
Annotation[] annotations = method.getAnnotations();
if (annotations == null || annotations.length == 0) continue;
Class<?> type = method.getParameterTypes()[0];
Type genericType = method.getGenericParameterTypes()[0];
ValueInjector extractor = getParameterExtractor(clazz, factory, method, annotations, type, genericType);
if (extractor != null)
{
long hash = 0;