/** * 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()); } }
/** * 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()); } }
private MethodParameter initMethodParameter(int parameterIndex) { MethodParameter param = new SynthesizingMethodParameter(this.handleMethod, parameterIndex); param.initParameterNameDiscovery(new DefaultParameterNameDiscoverer()); GenericTypeResolver.resolveParameterType(param, this.resolver.getClass()); return param; }
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; }
@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(); }
Type[] genericParameterTypes = method.getGenericParameterTypes(); Annotation[][] paramAnnotations = method.getParameterAnnotations(); DefaultParameterNameDiscoverer parameterNameDiscoverer = new DefaultParameterNameDiscoverer(); String[] parameterNames = parameterNameDiscoverer.getParameterNames(method);
DefaultParameterNameDiscoverer discoverer = new DefaultParameterNameDiscoverer(); String[] params = discoverer.getParameterNames(MathUtils.class.getMethod("isPrime", Integer.class));
/** * 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; }
private ParameterNameDiscoverer parameterNameDiscoverer = 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; }
/** * 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; }
private ParameterNameDiscoverer parameterNameDiscoverer = new DefaultParameterNameDiscoverer();
public HandlerMethodService(ConversionService conversionService, List<HandlerMethodArgumentResolver> customArgumentResolvers, ObjectMapper objectMapper, ApplicationContext applicationContext) { this.conversionService = conversionService; this.parameterNameDiscoverer = new DefaultParameterNameDiscoverer(); this.argumentResolvers = new HandlerMethodArgumentResolverComposite(); ConfigurableBeanFactory beanFactory = ClassUtils.isAssignableValue( ConfigurableApplicationContext.class, applicationContext) ? ((ConfigurableApplicationContext) applicationContext) .getBeanFactory() : null; this.argumentResolvers.addResolver( new HeaderMethodArgumentResolver(this.conversionService, beanFactory)); this.argumentResolvers.addResolver(new HeadersMethodArgumentResolver()); this.argumentResolvers.addResolver(new WampMessageMethodArgumentResolver()); this.argumentResolvers.addResolver(new PrincipalMethodArgumentResolver()); this.argumentResolvers.addResolver(new WampSessionIdMethodArgumentResolver()); this.argumentResolvers.addResolvers(customArgumentResolvers); this.objectMapper = objectMapper; }
private static final ParameterNameDiscoverer parameterNameDiscoverer = new DefaultParameterNameDiscoverer();
private static final ParameterNameDiscoverer parameterNameDiscoverer = new DefaultParameterNameDiscoverer();