private List parseAnnotatedPackages()

in dataenum-processor/src/main/java/com/spotify/dataenum/processor/AccessSelector.java [47:68]


  private List<PackageAndAccess> parseAnnotatedPackages(
      Set<? extends Element> visibilityAnnotatedPackages) {
    ArrayList<PackageAndAccess> result = new ArrayList<>(visibilityAnnotatedPackages.size());

    for (Element element : visibilityAnnotatedPackages) {
      if (!(element instanceof PackageElement)) {
        throw new IllegalArgumentException(
            "received a access annotated element that is not a package: " + element);
      }

      PackageElement packageElement = (PackageElement) element;

      result.add(
          new PackageAndAccess(
              packageElement.getQualifiedName().toString(),
              element.getAnnotation(ConstructorAccess.class).value()));
    }

    result.sort((o1, o2) -> o2.packageName.length() - o1.packageName.length());

    return result;
  }