Я почти уверен, что это невозможно.
AspectJ вообще не имеет доступа к локальным переменным, а поля доступны только через точки вызова get () и set (), поэтому вы можете объявить ошибку или предупреждение только при обращении к такому полю, но не при его наличии. только что определен без доступа.
Вместо этого я бы использовал выделенный инструмент метрики источника, например PMD . легко написать пользовательское правило , а PMD имеет широкую поддержку в системах сборки и IDE.
Аспекты действительно касаются поведения, а не именования.
Обновление: Хорошо, если вы можете жить с ограничениями, вот аспект, который соответствует всему доступу к полям с номером в их имени:
public aspect TestAspect {
pointcut accessBadField() :
get(* *.*1*) ||
get(* *.*2*) ||
get(* *.*3*) ||
get(* *.*4*) ||
get(* *.*5*) ||
get(* *.*6*) ||
get(* *.*7*) ||
get(* *.*8*) ||
get(* *.*9*) ||
get(* *.*0*)
;
declare warning : accessBadField() :
"Please don't use numbers in field names";
}
Справка: