Java-аннотации и соответствие методов - PullRequest
0 голосов
/ 22 декабря 2009

У меня есть новая аннотация, предназначенная для методов. Есть ли способ аннотировать его таким образом, чтобы при его применении к методу a () класса A он также применялся к методу b () класса B, который наследуется от A, при условии, что b () соответствует a () в некотором роде - похожие имена, соответствующие типы ввода, соответствующие типы возврата и т. д .?

Ответы [ 2 ]

1 голос
/ 22 декабря 2009

Краткий ответ - «нет». Аннотация применяется только к явно аннотированной цели (метод / поле / класс). Если сама аннотация помечена @Inherited, она также будет применяться к потомкам аннотированной цели; но это не поможет в вашем случае (если я правильно понял).

Однако, в зависимости от того, для чего вы собираетесь использовать эту аннотацию, вы можете либо написать собственный Процессор аннотаций , чтобы делать все, что вы хотите, либо просто использовать отражение, чтобы найти подходящий метод и решить, следует ли вашей аннотации логически применимо и к нему.

0 голосов
/ 22 декабря 2009

Насколько я могу определить, нет способа пометить, что аннотация наследуется для чего-либо, кроме классов (через @Inherited).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...