Пример #1
0
    public TypeVisitorImpl(
        DeclaredType type,
        List<? extends TypeMirror> typeArguments,
        Collection<DeclaredType> typeRecursionGuard) {

      TypeElement elem = (TypeElement) type.asElement();
      _typeRecursionGuard = typeRecursionGuard;
      _type = type;
      List<? extends TypeParameterElement> generics = elem.getTypeParameters();
      for (int i = 0; i < generics.size(); i++) {
        DeclaredType value =
            (typeArguments.isEmpty() || !(typeArguments.get(i) instanceof DeclaredType))
                ? null
                : (DeclaredType) typeArguments.get(i);
        _typeArguments.put(generics.get(i).getSimpleName(), value);
      }
    }
Пример #2
0
  private void buildRequestBodies(
      ExecutableElement executableElement, RestDocumentation.Resource.Method doc) {
    List<VariableElement> requestBodies = new ArrayList<VariableElement>();
    for (VariableElement var : executableElement.getParameters()) {
      if (var.getAnnotation(org.springframework.web.bind.annotation.RequestBody.class) != null) {
        requestBodies.add(var);
      }
    }

    if (requestBodies.size() > 1) {
      throw new IllegalStateException(
          String.format(
              "Method %s in class %s has multiple @RequestBody params",
              executableElement.getSimpleName(), executableElement.getEnclosingElement()));
    }

    if (requestBodies.size() == 1) {
      buildRequestBody(requestBodies.get(0), doc);
    }
  }