/** * An {@link ElementName} for an annotated element. If {@code element} is a package, uses the * fully qualified name of the package. If it's a type, uses its fully qualified name. * Otherwise, uses the fully-qualified name of the nearest enclosing type. */ static ElementName forAnnotatedElement(Element element) { return element.getKind() == PACKAGE ? ElementName.forPackageName(((PackageElement) element).getQualifiedName().toString()) : ElementName.forTypeName(getEnclosingType(element).getQualifiedName().toString()); }
PackageElement annotatedPackageElement = (PackageElement) annotatedElement; ElementName annotatedPackageName = ElementName.forPackageName(annotatedPackageElement.getQualifiedName().toString()); boolean validPackage = validElementNames.contains(annotatedPackageName)