Я пытаюсь использовать bytebuddy для переопределения существующих классов. Я ищу поля, которые отмечены конкретной аннотацией. Я понял это с помощью кода примерно так:
new ByteBuddy()
.redefine(<some class>)
.field(
ElementMatchers.isAnnotatedWith(<some annotation>)
)
...
Что я хотел бы сделать, так это уточнить мой ElementMatcher, чтобы включить проверку атрибута в указанной аннотации - что-то вроде этого:
new ByteBuddy()
.redefine(<some class>)
.field(
ElementMatchers.isAnnotatedWith(<some annotation>)
.havingAttribute(<some attribute>, "value")
)
То, что я ищу, - это способ выполнения части «hasAttribute». Возможно ли это, или я подхожу к этому неправильно? Любое понимание приветствуется.