Обработка аннотаций довольно громоздка, и можно очень быстро потеряться. Я думаю, вы должны получить тип, соответствующий этому элементу параметра, затем получить элемент, соответствующий этому типу, затем получить его члены и отфильтровать их.Попробуйте поиграть со следующим кодом, и дайте мне знать, если он работает:
VariableElement parameterElement;
ProcessingEnvironment processingEnv;
TypeMirror parameterType = parameterElement.asType();
Types typeUtils = processingEnv.getTypeUtils();
TypeElement typeElement = (TypeElement) typeUtils.asElement(parameterType);
Elements elementUtils = processingEnv.getElementUtils()
List<? extends Element> elementMembers = elementUtils.getAllMembers(typeElement);
List<ExecutableElement> elementMethods = ElementFilter.methodsIn(elementMembers);
for(ExecutableElement methodElement : elementMethods) {
if (methodElement.getParameters().size()==0 && methodElement.getSimpleName().toString().startsWith("get")) {
// do something
}
}
Я думаю, что это должно работать, но не уверен на 100%, что это геттер, так как вы не можете проверитьчто сделано внутри тела метода.Я предположил, что под «получателем» вы подразумевали метод, начинающийся с «get» и без параметров.
Это отвечает на ваш вопрос?