/** * @param targetInjectionMember * @param assignedParameters * @return null if no parameter set for the given accessible object has been defined. */ protected final AccessibleObjectParameterSet getParameterToUseForObject(final AccessibleObject targetInjectionMember, final AccessibleObjectParameterSet... assignedParameters) { if (assignedParameters == null || assignedParameters.length == 0) { Parameter[] paramsToUse = this.createDefaultParameters(targetInjectionMember); paramsToUse = this.interceptParametersToUse(paramsToUse, targetInjectionMember); return this.constructAccessibleObjectParameterSet(targetInjectionMember, paramsToUse); } for (AccessibleObjectParameterSet eachParameterSet : assignedParameters) { //if a target type is defined then we have to match against it. //This allows injection into private members of base classes of the same name //as the subclasses. Class<?> targetType = eachParameterSet.getTargetType(); if (targetType != null && !targetType.equals(getAccessibleObjectDefiningType(targetInjectionMember))) { continue; } if (eachParameterSet.getName().equals(getAccessibleObjectName(targetInjectionMember))) { //Allow parmeter substitution Parameter[] paramsToUse = this.interceptParametersToUse(eachParameterSet.getParams(), targetInjectionMember); return constructAccessibleObjectParameterSet(targetInjectionMember, paramsToUse); } } Parameter[] paramsToUse = this.createDefaultParameters(targetInjectionMember); paramsToUse = this.interceptParametersToUse(paramsToUse, targetInjectionMember); return this.constructAccessibleObjectParameterSet(targetInjectionMember, paramsToUse); }
/** * @param targetInjectionMember * @param assignedParameters * @return null if no parameter set for the given accessible object has been defined. */ protected final AccessibleObjectParameterSet getParameterToUseForObject(final AccessibleObject targetInjectionMember, final AccessibleObjectParameterSet... assignedParameters) { if (assignedParameters == null || assignedParameters.length == 0) { Parameter[] paramsToUse = this.createDefaultParameters(targetInjectionMember); paramsToUse = this.interceptParametersToUse(paramsToUse, targetInjectionMember); return this.constructAccessibleObjectParameterSet(targetInjectionMember, paramsToUse); } for (AccessibleObjectParameterSet eachParameterSet : assignedParameters) { //if a target type is defined then we have to match against it. //This allows injection into private members of base classes of the same name //as the subclasses. Class<?> targetType = eachParameterSet.getTargetType(); if (targetType != null && !targetType.equals(getAccessibleObjectDefiningType(targetInjectionMember))) { continue; } if (eachParameterSet.getName().equals(getAccessibleObjectName(targetInjectionMember))) { //Allow parmeter substitution Parameter[] paramsToUse = this.interceptParametersToUse(eachParameterSet.getParams(), targetInjectionMember); return constructAccessibleObjectParameterSet(targetInjectionMember, paramsToUse); } } Parameter[] paramsToUse = this.createDefaultParameters(targetInjectionMember); paramsToUse = this.interceptParametersToUse(paramsToUse, targetInjectionMember); return this.constructAccessibleObjectParameterSet(targetInjectionMember, paramsToUse); }