/** * Creates a new instance that first tries the passed in * {@link ParameterNameDiscoverer} instances. * @param parameterNameDiscovers the {@link ParameterNameDiscoverer} before trying the * defaults. Cannot be null. */ @SuppressWarnings("unchecked") public DefaultSecurityParameterNameDiscoverer( List<? extends ParameterNameDiscoverer> parameterNameDiscovers) { Assert.notNull(parameterNameDiscovers, "parameterNameDiscovers cannot be null"); for (ParameterNameDiscoverer discover : parameterNameDiscovers) { addDiscoverer(discover); } Set<String> annotationClassesToUse = new HashSet<>(2); annotationClassesToUse.add("org.springframework.security.access.method.P"); annotationClassesToUse.add(P.class.getName()); if (DATA_PARAM_PRESENT) { annotationClassesToUse.add(DATA_PARAM_CLASSNAME); } addDiscoverer(new AnnotationParameterNameDiscoverer(annotationClassesToUse)); addDiscoverer(new DefaultParameterNameDiscoverer()); } }
/** * Create a ParameterNameDiscoverer to be used for argument binding. * <p>The default implementation creates a {@link DefaultParameterNameDiscoverer} * and adds a specifically configured {@link AspectJAdviceParameterNameDiscoverer}. */ protected ParameterNameDiscoverer createParameterNameDiscoverer() { // We need to discover them, or if that fails, guess, // and if we can't guess with 100% accuracy, fail. DefaultParameterNameDiscoverer discoverer = new DefaultParameterNameDiscoverer(); AspectJAdviceParameterNameDiscoverer adviceParameterNameDiscoverer = new AspectJAdviceParameterNameDiscoverer(this.pointcut.getExpression()); adviceParameterNameDiscoverer.setReturningName(this.returningName); adviceParameterNameDiscoverer.setThrowingName(this.throwingName); // Last in chain, so if we're called and we fail, that's bad... adviceParameterNameDiscoverer.setRaiseExceptions(true); discoverer.addDiscoverer(adviceParameterNameDiscoverer); return discoverer; }
Type[] genericParameterTypes = method.getGenericParameterTypes(); Annotation[][] paramAnnotations = method.getParameterAnnotations(); DefaultParameterNameDiscoverer parameterNameDiscoverer = new DefaultParameterNameDiscoverer(); String[] parameterNames = parameterNameDiscoverer.getParameterNames(method);
public DefaultParameterNameDiscoverer() { if (!GraalDetector.inImageCode()) { if (KotlinDetector.isKotlinReflectPresent()) { addDiscoverer(new KotlinReflectionParameterNameDiscoverer()); } addDiscoverer(new StandardReflectionParameterNameDiscoverer()); addDiscoverer(new LocalVariableTableParameterNameDiscoverer()); } }
/** {@inheritDoc} */ @Override @Nullable public String[] getParameterNames(final Method method) { return super.getParameterNames(method); }
DefaultParameterNameDiscoverer discoverer = new DefaultParameterNameDiscoverer(); String[] params = discoverer.getParameterNames(MathUtils.class.getMethod("isPrime", Integer.class));
public DefaultParameterNameDiscoverer() { if (!GraalDetector.inImageCode()) { if (KotlinDetector.isKotlinReflectPresent()) { addDiscoverer(new KotlinReflectionParameterNameDiscoverer()); } addDiscoverer(new StandardReflectionParameterNameDiscoverer()); addDiscoverer(new LocalVariableTableParameterNameDiscoverer()); } }
if (annotationsArray.length == 0) { return super.getParameterNames(ctor); (className.startsWith("org.opensaml") || className.startsWith("net.shibboleth")); if (!isOurs) { return super.getParameterNames(ctor); + "Not all parameters are annotated with @ParameterName", className, annotationsArray.length); log.debug("Types : {}", (Object)ctor.getParameterTypes()); return super.getParameterNames(ctor);
/** * Creates a new instance that first tries the passed in * {@link ParameterNameDiscoverer} instances. * @param parameterNameDiscovers the {@link ParameterNameDiscoverer} before trying the * defaults. Cannot be null. */ @SuppressWarnings("unchecked") public DefaultSecurityParameterNameDiscoverer( List<? extends ParameterNameDiscoverer> parameterNameDiscovers) { Assert.notNull(parameterNameDiscovers, "parameterNameDiscovers cannot be null"); for (ParameterNameDiscoverer discover : parameterNameDiscovers) { addDiscoverer(discover); } Set<String> annotationClassesToUse = new HashSet<>(2); annotationClassesToUse.add("org.springframework.security.access.method.P"); annotationClassesToUse.add(P.class.getName()); if (DATA_PARAM_PRESENT) { annotationClassesToUse.add(DATA_PARAM_CLASSNAME); } addDiscoverer(new AnnotationParameterNameDiscoverer(annotationClassesToUse)); addDiscoverer(new DefaultParameterNameDiscoverer()); } }
/** * Create a ParameterNameDiscoverer to be used for argument binding. * <p>The default implementation creates a {@link DefaultParameterNameDiscoverer} * and adds a specifically configured {@link AspectJAdviceParameterNameDiscoverer}. */ protected ParameterNameDiscoverer createParameterNameDiscoverer() { // We need to discover them, or if that fails, guess, // and if we can't guess with 100% accuracy, fail. DefaultParameterNameDiscoverer discoverer = new DefaultParameterNameDiscoverer(); AspectJAdviceParameterNameDiscoverer adviceParameterNameDiscoverer = new AspectJAdviceParameterNameDiscoverer(this.pointcut.getExpression()); adviceParameterNameDiscoverer.setReturningName(this.returningName); adviceParameterNameDiscoverer.setThrowingName(this.throwingName); // Last in chain, so if we're called and we fail, that's bad... adviceParameterNameDiscoverer.setRaiseExceptions(true); discoverer.addDiscoverer(adviceParameterNameDiscoverer); return discoverer; }
public DefaultParameterNameDiscoverer() { if (!GraalDetector.inImageCode()) { if (KotlinDetector.isKotlinReflectPresent()) { addDiscoverer(new KotlinReflectionParameterNameDiscoverer()); } addDiscoverer(new StandardReflectionParameterNameDiscoverer()); addDiscoverer(new LocalVariableTableParameterNameDiscoverer()); } }
private MethodParameter initMethodParameter(int parameterIndex) { MethodParameter param = new SynthesizingMethodParameter(this.handleMethod, parameterIndex); param.initParameterNameDiscovery(new DefaultParameterNameDiscoverer()); GenericTypeResolver.resolveParameterType(param, this.resolver.getClass()); return param; }
/** * Create a ParameterNameDiscoverer to be used for argument binding. * <p>The default implementation creates a {@link DefaultParameterNameDiscoverer} * and adds a specifically configured {@link AspectJAdviceParameterNameDiscoverer}. */ protected ParameterNameDiscoverer createParameterNameDiscoverer() { // We need to discover them, or if that fails, guess, // and if we can't guess with 100% accuracy, fail. DefaultParameterNameDiscoverer discoverer = new DefaultParameterNameDiscoverer(); AspectJAdviceParameterNameDiscoverer adviceParameterNameDiscoverer = new AspectJAdviceParameterNameDiscoverer(this.pointcut.getExpression()); adviceParameterNameDiscoverer.setReturningName(this.returningName); adviceParameterNameDiscoverer.setThrowingName(this.throwingName); // Last in chain, so if we're called and we fail, that's bad... adviceParameterNameDiscoverer.setRaiseExceptions(true); discoverer.addDiscoverer(adviceParameterNameDiscoverer); return discoverer; }
public DefaultParameterNameDiscoverer() { if (!GraalDetector.inImageCode()) { if (KotlinDetector.isKotlinReflectPresent()) { addDiscoverer(new KotlinReflectionParameterNameDiscoverer()); } addDiscoverer(new StandardReflectionParameterNameDiscoverer()); addDiscoverer(new LocalVariableTableParameterNameDiscoverer()); } }
private MethodParameter initMethodParameter(int parameterIndex) { MethodParameter param = new SynthesizingMethodParameter(this.handleMethod, parameterIndex); param.initParameterNameDiscovery(new DefaultParameterNameDiscoverer()); GenericTypeResolver.resolveParameterType(param, this.resolver.getClass()); return param; }
@Before public void setup() throws Exception { this.resolver = new DestinationVariableMethodArgumentResolver(new DefaultConversionService()); Method method = getClass().getDeclaredMethod("handleMessage", String.class, String.class, String.class); this.paramAnnotated = new MethodParameter(method, 0); this.paramAnnotatedValue = new MethodParameter(method, 1); this.paramNotAnnotated = new MethodParameter(method, 2); this.paramAnnotated.initParameterNameDiscovery(new DefaultParameterNameDiscoverer()); GenericTypeResolver.resolveParameterType(this.paramAnnotated, DestinationVariableMethodArgumentResolver.class); this.paramAnnotatedValue.initParameterNameDiscovery(new DefaultParameterNameDiscoverer()); GenericTypeResolver.resolveParameterType(this.paramAnnotatedValue, DestinationVariableMethodArgumentResolver.class); }
@Before public void setup() { @SuppressWarnings("resource") GenericApplicationContext cxt = new GenericApplicationContext(); cxt.refresh(); this.resolver = new HeaderMethodArgumentResolver(new DefaultConversionService(), cxt.getBeanFactory()); Method method = ReflectionUtils.findMethod(getClass(), "handleMessage", (Class<?>[]) null); this.paramRequired = new SynthesizingMethodParameter(method, 0); this.paramNamedDefaultValueStringHeader = new SynthesizingMethodParameter(method, 1); this.paramSystemPropertyDefaultValue = new SynthesizingMethodParameter(method, 2); this.paramSystemPropertyName = new SynthesizingMethodParameter(method, 3); this.paramNotAnnotated = new SynthesizingMethodParameter(method, 4); this.paramOptional = new SynthesizingMethodParameter(method, 5); this.paramNativeHeader = new SynthesizingMethodParameter(method, 6); this.paramRequired.initParameterNameDiscovery(new DefaultParameterNameDiscoverer()); GenericTypeResolver.resolveParameterType(this.paramRequired, HeaderMethodArgumentResolver.class); }
@Bean public ParameterNameDiscoverer parameterNameDiscoverer() { return new DefaultParameterNameDiscoverer(); }
/** * Creates a new instance that first tries the passed in * {@link ParameterNameDiscoverer} instances. * @param parameterNameDiscovers the {@link ParameterNameDiscoverer} before trying the * defaults. Cannot be null. */ @SuppressWarnings("unchecked") public DefaultSecurityParameterNameDiscoverer( List<? extends ParameterNameDiscoverer> parameterNameDiscovers) { Assert.notNull(parameterNameDiscovers, "parameterNameDiscovers cannot be null"); for (ParameterNameDiscoverer discover : parameterNameDiscovers) { addDiscoverer(discover); } Set<String> annotationClassesToUse = new HashSet<>(2); annotationClassesToUse.add("org.springframework.security.access.method.P"); annotationClassesToUse.add(P.class.getName()); if (DATA_PARAM_PRESENT) { annotationClassesToUse.add(DATA_PARAM_CLASSNAME); } addDiscoverer(new AnnotationParameterNameDiscoverer(annotationClassesToUse)); addDiscoverer(new DefaultParameterNameDiscoverer()); } }
/** * Return a properly initialized MethodParameter for the given executable and index. */ public static MethodParameter createMethodParameter(Executable executable, int i) { MethodParameter methodParameter; if (executable instanceof Method) { methodParameter = new MethodParameter((Method) executable, i); } else if (executable instanceof Constructor){ methodParameter = new MethodParameter((Constructor) executable, i); } else { throw new IllegalArgumentException("Unsupported Executable: " + executable); } methodParameter.initParameterNameDiscovery(new DefaultParameterNameDiscoverer()); return methodParameter; }