У меня есть @Audit
аннотация, в ней много необязательных атрибутов, мне нужно принудительно использовать один логический атрибут useAccount = true
для определенных пакетов.
Я пытаюсь использовать archunit для выполнения этой проверкиТаким образом, всякий раз, когда разработчик фиксирует код, нарушающий правило, CI будет нарушать и информировать команду.
Это нарушит сборку:
@Audit
public myMethod(...) {
...
}
Это правильный путь:
@Audit(useAccount = true)
public myMethod(...) {
...
}
Проблема в том, что Archunit в настоящее время не поддерживает утверждение по методам.Я ожидал сделать что-то вроде:
methods().that().resideInAnyPackage("..controllers..", "..service..").and().areAnnotatedWith(Audit.class).should(attributeCheckCondition)
Тогда мое пользовательское условие attributeCheckCondition
позаботится о поиске значения атрибута.
Есть ли способ получения методов при полученииклассы?Без необходимости писать более сложный предикат и условие?