Package org.springframework.core

Examples of org.springframework.core.MethodParameter


    private MethodParameter invalidParameter;

    @Before
    public void setUp() throws Exception {
        resolver = new StaxPayloadMethodArgumentResolver();
        streamParameter = new MethodParameter(getClass().getMethod("streamReader", XMLStreamReader.class), 0);
        eventParameter = new MethodParameter(getClass().getMethod("eventReader", XMLEventReader.class), 0);
        invalidParameter = new MethodParameter(getClass().getMethod("invalid", XMLStreamReader.class), 0);
    }
View Full Code Here


    @Before
    public void setUp() throws Exception {
        resolver = new XPathParamMethodArgumentResolver();
        Method supportedTypes = getClass()
                .getMethod("supportedTypes", Boolean.TYPE, Double.TYPE, Node.class, NodeList.class, String.class);
        booleanParameter = new MethodParameter(supportedTypes, 0);
        doubleParameter = new MethodParameter(supportedTypes, 1);
        nodeParameter = new MethodParameter(supportedTypes, 2);
        nodeListParameter = new MethodParameter(supportedTypes, 3);
        stringParameter = new MethodParameter(supportedTypes, 4);
        convertedParameter = new MethodParameter(getClass().getMethod("convertedType", Integer.TYPE), 0);
        unsupportedParameter = new MethodParameter(getClass().getMethod("unsupported", String.class), 0);
        namespaceMethodParameter = new MethodParameter(getClass().getMethod("namespacesMethod", String.class), 0);
        namespaceClassParameter = new MethodParameter(getClass().getMethod("namespacesClass", String.class), 0);
    }
View Full Code Here

    /** Returns the method parameters for this method endpoint. */
    public MethodParameter[] getMethodParameters() {
        int parameterCount = getMethod().getParameterTypes().length;
        MethodParameter[] parameters = new MethodParameter[parameterCount];
        for (int i = 0; i < parameterCount; i++) {
            parameters[i] = new MethodParameter(getMethod(), i);
        }
        return parameters;
    }
View Full Code Here

        return parameters;
    }

    /** Returns the method return type, as {@code MethodParameter}. */
    public MethodParameter getReturnType() {
        return new MethodParameter(method, -1);
    }
View Full Code Here

    @Override
    protected QName getLookupKeyForMethod(Method method) {
        Class<?>[] parameterTypes = method.getParameterTypes();
        for (int i = 0; i < parameterTypes.length; i++) {
            MethodParameter methodParameter = new MethodParameter(method, i);
            Class<?> parameterType = methodParameter.getParameterType();
            if (parameterType.isAnnotationPresent(XmlRootElement.class)) {
                QName result = handleRootElement(parameterType);
                if (result != null) {
                    return result;
                }
View Full Code Here

  @Override
  public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer,
      NativeWebRequest webRequest, WebDataBinderFactory binderFactory) {

    UriComponents fromUriString = resolveBaseUri(parameter);
    MethodParameter pageableParameter = findMatchingPageableParameter(parameter);

    if (pageableParameter != null) {
      return new MethodParameterAwarePagedResourcesAssembler<Object>(pageableParameter, resolver, fromUriString);
    } else {
      return new PagedResourcesAssembler<Object>(resolver, fromUriString);
View Full Code Here

      return null;
    }

    if (pageableParameters.size() == 1) {

      MethodParameter pageableParameter = pageableParameters.get(0);
      MethodParameter matchingParameter = returnIfQualifiersMatch(pageableParameter, assemblerQualifier);

      if (matchingParameter == null) {
        LOGGER.info(SUPERFLOUS_QUALIFIER, PagedResourcesAssembler.class.getSimpleName(), Pageable.class.getName());
      }

      return pageableParameter;
    }

    if (assemblerQualifier == null) {
      throw new IllegalStateException(PARAMETER_AMBIGUITY);
    }

    for (MethodParameter pageableParameter : pageableParameters) {

      MethodParameter matchingParameter = returnIfQualifiersMatch(pageableParameter, assemblerQualifier);

      if (matchingParameter != null) {
        return matchingParameter;
      }
    }
View Full Code Here

    Object[] result = new Object[parameters.size()];
    Sort sortToUse = pageable == null ? sort : pageable.getSort();

    for (int i = 0; i < result.length; i++) {

      MethodParameter param = parameters.get(i);
      Class<?> targetType = param.getParameterType();

      if (Pageable.class.isAssignableFrom(targetType)) {
        result[i] = pageable;
      } else if (Sort.class.isAssignableFrom(targetType)) {
        result[i] = sortToUse;
      } else {

        String parameterName = param.getParameterName();

        if (!StringUtils.hasText(parameterName)) {
          throw new IllegalArgumentException("No @Param annotation found on query method " + method.getName()
              + " for parameter " + parameterName);
        }
View Full Code Here

    List<Class<?>> types = Arrays.asList(method.getParameterTypes());

    for (int i = 0; i < types.size(); i++) {

      MethodParameter methodParameter = new MethodParameter(method, i);
      methodParameter.initParameterNameDiscovery(PARAMETER_DISCOVERER);

      T parameter = createParameter(methodParameter);

      if (parameter.isSpecialParameter() && parameter.isNamedParameter()) {
        throw new IllegalArgumentException(PARAM_ON_SPECIAL);
View Full Code Here

    Class<?>[] types = baseClassMethod.getParameterTypes();

    for (int i = 0; i < genericTypes.length; i++) {

      Type type = genericTypes[i];
      MethodParameter parameter = new MethodParameter(method, i);
      Class<?> parameterType = resolveParameterType(parameter, metadata.getRepositoryInterface());

      if (type instanceof TypeVariable<?>) {
        if (!matchesGenericType((TypeVariable<?>) type, parameterType)) {
          return false;
View Full Code Here

TOP

Related Classes of org.springframework.core.MethodParameter

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.