public ClassifiedElements get()

in dataenum-processor/src/main/java/com/spotify/dataenum/processor/parser/MembersParser.java [130:156]


    public ClassifiedElements get(List<? extends Element> elements) {
      // predicate: isValue
      final Predicate<ExecutableElement> isValue =
          x -> ValueParser.isValueSpecMarker(x.getReturnType(), ctx.get());

      // predicate: isAdtMethod
      final Predicate<ExecutableElement> isAdtMethod =
          x -> x.getModifiers().contains(Modifier.DEFAULT);

      final Map<String, ? extends List<? extends Element>> xs =
          elements
              .stream()
              .collect(
                  Collectors.groupingBy(
                      e -> {
                        if (e instanceof ExecutableElement) {
                          final ExecutableElement el = (ExecutableElement) e;
                          if (isValue.test(el)) return VALUE;
                          else if (isAdtMethod.test(el)) return ADT_METHOD;
                          else return NOT_SUPPORTED_METHOD;
                        } else {
                          return NOT_SUPPORTED_TYPE;
                        }
                      }));

      return new ClassifiedElements(xs);
    }