protected NameBinding makeParameterNameImpl(final AccessibleObject member) { if (member == null) { throw new NullPointerException("member"); } if (paranamer == null) { paranamer = new CachingParanamer(new AnnotationParanamer(new AdaptiveParanamer())); } return new ParameterNameBinding(paranamer, member, 0); }
/** * Throws an exception if the "resolved" parameter is null <em>unless</em> * {@link #useAllParameters} is set to false. * * @param member * @param i * @param expectedNameBinding * @param result */ @SuppressWarnings("synthetic-access") protected void nullCheck(final AccessibleObject member, final int i, final ParameterNameBinding expectedNameBinding, final Object result) { if (result == null && !isNullParamAllowed(member, i)) { throw new ParameterCannotBeNullException(i, member, expectedNameBinding.getName()); } }
protected NameBinding makeParameterNameImpl(final AccessibleObject member) { if (member == null) { throw new NullPointerException("member"); } if (paranamer == null) { paranamer = new CachingParanamer(new AnnotationParanamer(new AdaptiveParanamer())); } return new ParameterNameBinding(paranamer, member, 0); }
/** * Throws an exception if the "resolved" parameter is null <em>unless</em> * {@link #useAllParameters} is set to false. * * @param member * @param i * @param expectedNameBinding * @param result */ @SuppressWarnings("synthetic-access") protected void nullCheck(final AccessibleObject member, final int i, final ParameterNameBinding expectedNameBinding, final Object result) { if (result == null && !isNullParamAllowed(member, i)) { throw new ParameterCannotBeNullException(i, member, expectedNameBinding.getName()); } }
@Override public Void run(final Object inst) { final List<Method> methods = getInjectorMethods(); for (Method method : methods) { final Class[] parameterTypes = method.getParameterTypes(); AccessibleObjectParameterSet paramsForMethod = getParameterToUseForObject(method, parameters); final Parameter[] currentParameters = paramsForMethod != null ? paramsForMethod.getParams() : createDefaultParameters(parameterTypes.length); for (int i = 0; i < currentParameters.length; i++) { currentParameters[i].verify(container, MethodInjector.this, parameterTypes[i], new ParameterNameBinding(getParanamer(), method, i), useNames(), getBindings(method.getParameterAnnotations())[i]); } } return null; } };
@Override public Void run(final Object inst) { final List<Method> methods = getInjectorMethods(); for (Method method : methods) { final Class[] parameterTypes = method.getParameterTypes(); AccessibleObjectParameterSet paramsForMethod = getParameterToUseForObject(method, parameters); final Parameter[] currentParameters = paramsForMethod != null ? paramsForMethod.getParams() : createDefaultParameters(parameterTypes.length); for (int i = 0; i < currentParameters.length; i++) { currentParameters[i].verify(container, MethodInjector.this, parameterTypes[i], new ParameterNameBinding(getParanamer(), method, i), useNames(), getBindings(method.getParameterAnnotations())[i]); } } return null; } };
protected Object getParameter(final PicoContainer container, final AccessibleObject member, final int i, final Type parameterType, final Annotation binding, final Parameter currentParameter, final ComponentAdapter<?> injecteeAdapter, final Type into) { ParameterNameBinding expectedNameBinding = new ParameterNameBinding(getParanamer(), member, i); Resolver resolver = currentParameter.resolve(container, this, injecteeAdapter, parameterType, expectedNameBinding, useNames(), binding); if (!resolver.isResolved()) { if (!this.useAllParameters) { return Parameter.NULL_RESULT; } } Object result = resolver.resolveInstance(into); nullCheck(member, i, expectedNameBinding, result); return result; }
protected Object getParameter(final PicoContainer container, final AccessibleObject member, final int i, final Type parameterType, final Annotation binding, final Parameter currentParameter, final ComponentAdapter<?> injecteeAdapter, final Type into) { ParameterNameBinding expectedNameBinding = new ParameterNameBinding(getParanamer(), member, i); Resolver resolver = currentParameter.resolve(container, this, injecteeAdapter, parameterType, expectedNameBinding, useNames(), binding); if (!resolver.isResolved()) { if (!this.useAllParameters) { return Parameter.NULL_RESULT; } } Object result = resolver.resolveInstance(into); nullCheck(member, i, expectedNameBinding, result); return result; }
new ParameterNameBinding(getParanamer(), constructor, i), useNames(), getBindings(constructor.getParameterAnnotations())[i]);
new ParameterNameBinding(getParanamer(), constructor, i), useNames(), getBindings(constructor.getParameterAnnotations())[i]);
NameBinding expectedNameBinding = new ParameterNameBinding(getParanamer(), sortedMatchingConstructor, j); Parameter parameterToUse = getParameterToUse(sortedMatchingConstructor,j, currentParameters[j]); parametersUsed.set(j, parameterToUse);
NameBinding expectedNameBinding = new ParameterNameBinding(getParanamer(), sortedMatchingConstructor, j); Parameter parameterToUse = getParameterToUse(sortedMatchingConstructor,j, currentParameters[j]); parametersUsed.set(j, parameterToUse);
@Override public Object run(final Object inst) { final Constructor constructor = getGreediestSatisfiableConstructor(guardedContainer).getConstructor(); final Class[] parameterTypes = constructor.getParameterTypes(); final ConstructorParameters constructorParameters = (ConstructorParameters) (parameters != null && parameters.length > 0 ? parameters[0] : new ConstructorParameters()); final Parameter[] currentParameters = constructorParameters.getParams() != null ? constructorParameters.getParams() : createDefaultParameters(parameterTypes.length); for (int i = 0; i < currentParameters.length; i++) { currentParameters[i].verify(container, ConstructorInjector.this, box(parameterTypes[i]), new ParameterNameBinding(getParanamer(), constructor, i), useNames(), getBindings(constructor.getParameterAnnotations())[i]); } return null; } };
@Override public Object run(final Object inst) { final Constructor constructor = getGreediestSatisfiableConstructor(guardedContainer).getConstructor(); final Class[] parameterTypes = constructor.getParameterTypes(); final ConstructorParameters constructorParameters = (ConstructorParameters) (parameters != null && parameters.length > 0 ? parameters[0] : new ConstructorParameters()); final Parameter[] currentParameters = constructorParameters.getParams() != null ? constructorParameters.getParams() : createDefaultParameters(parameterTypes.length); for (int i = 0; i < currentParameters.length; i++) { currentParameters[i].verify(container, ConstructorInjector.this, box(parameterTypes[i]), new ParameterNameBinding(getParanamer(), constructor, i), useNames(), getBindings(constructor.getParameterAnnotations())[i]); } return null; } };