@Override protected void initializeInjectionMembersAndTypeLists() { injectionMembers = new ArrayList<AccessibleObject>(); List<Annotation> bindingIds = new ArrayList<Annotation>(); final List<Type> typeList = new ArrayList<Type>(); Class<?> drillInto = getComponentImplementation(); while (drillInto != Object.class) { final Field[] fields = getFields(drillInto); for (final Field field : fields) { if (Modifier.isStatic(field.getModifiers())) { continue; } if (isAnnotatedForInjection(field)) { injectionMembers.add(field); } } drillInto = drillInto.getSuperclass(); } //Sort for injection. Collections.sort(injectionMembers, new JSR330AccessibleObjectOrderComparator()); for (AccessibleObject eachMember : injectionMembers) { Field field = (Field)eachMember; typeList.add(box(field.getGenericType())); bindingIds.add(getBinding(field)); } injectionTypes = typeList.toArray(new Type[0]); bindings = bindingIds.toArray(new Annotation[0]); }
@Override protected void initializeInjectionMembersAndTypeLists() { injectionMembers = new ArrayList<AccessibleObject>(); List<Annotation> bindingIds = new ArrayList<Annotation>(); final List<Type> typeList = new ArrayList<Type>(); Class<?> drillInto = getComponentImplementation(); while (drillInto != Object.class) { final Field[] fields = getFields(drillInto); for (final Field field : fields) { if (Modifier.isStatic(field.getModifiers())) { continue; } if (isAnnotatedForInjection(field)) { injectionMembers.add(field); } } drillInto = drillInto.getSuperclass(); } //Sort for injection. Collections.sort(injectionMembers, new JSR330AccessibleObjectOrderComparator()); for (AccessibleObject eachMember : injectionMembers) { Field field = (Field)eachMember; typeList.add(box(field.getGenericType())); bindingIds.add(getBinding(field)); } injectionTypes = typeList.toArray(new Type[0]); bindings = bindingIds.toArray(new Annotation[0]); }