protected void initializeInjectionMembersAndTypeLists() { injectionMembers = new ArrayList<AccessibleObject>(); Set<String> injectionMemberNames = new HashSet<String>(); List<Annotation> bingingIds = new ArrayList<Annotation>(); final List<String> nameList = new ArrayList<String>(); final List<Type> typeList = new ArrayList<Type>(); final Method[] methods = getMethods(); for (final Method method : methods) { final Type[] parameterTypes = method.getGenericParameterTypes(); fixGenericParameterTypes(method, parameterTypes); String methodSignature = crudeMethodSignature(method); // We're only interested if there is only one parameter and the method name is bean-style. if (parameterTypes.length == 1) { boolean isInjector = isInjectorMethod(method); // ... and the method name is bean-style. // We're also not interested in dupes from parent classes (not all JDK impls) if (isInjector && !injectionMemberNames.contains(methodSignature)) { injectionMembers.add(method); injectionMemberNames.add(methodSignature); nameList.add(getName(method)); typeList.add(box(parameterTypes[0])); bingingIds.add(getBindings(method, 0)); } } } injectionTypes = typeList.toArray(new Type[0]); bindings = bingingIds.toArray(new Annotation[0]); initialized = true; }
protected void initializeInjectionMembersAndTypeLists() { injectionMembers = new ArrayList<AccessibleObject>(); Set<String> injectionMemberNames = new HashSet<String>(); List<Annotation> bingingIds = new ArrayList<Annotation>(); final List<String> nameList = new ArrayList<String>(); final List<Type> typeList = new ArrayList<Type>(); final Method[] methods = getMethods(); for (final Method method : methods) { final Type[] parameterTypes = method.getGenericParameterTypes(); fixGenericParameterTypes(method, parameterTypes); String methodSignature = crudeMethodSignature(method); // We're only interested if there is only one parameter and the method name is bean-style. if (parameterTypes.length == 1) { boolean isInjector = isInjectorMethod(method); // ... and the method name is bean-style. // We're also not interested in dupes from parent classes (not all JDK impls) if (isInjector && !injectionMemberNames.contains(methodSignature)) { injectionMembers.add(method); injectionMemberNames.add(methodSignature); nameList.add(getName(method)); typeList.add(box(parameterTypes[0])); bingingIds.add(getBindings(method, 0)); } } } injectionTypes = typeList.toArray(new Type[0]); bindings = bingingIds.toArray(new Annotation[0]); initialized = true; }