Java: аннотированные аннотации (и передаваемые значения) - PullRequest
2 голосов
/ 22 октября 2010

У меня есть аннотация, которая включает в себя несколько других аннотаций, примерно таких, как здесь:

@Component // Spring Component
@Interface OsgiService { boolean isFactory() }

, означающих, что все классы, отмеченные @OsgiService, должны автоматически также аннотироваться как @Component.Который работает отлично.

Теперь я хотел бы добавить еще одну аннотацию, в которой есть параметр, который зависит от параметра isFactory, равного @OsgiService.

@Component // Spring Component
@Scope(isFactory() ? "prototype" : "singleton")
@Interface OsgiService { boolean isFactory() }

Что не работает.Однако, поскольку isFactory свойство аннотации требует статического значения, разве не должно быть такого?

1 Ответ

3 голосов
/ 22 октября 2010

Я не думаю, что это возможно.

Вы можете создать две аннотации: @OsgiService и @OsgiServiceFactory

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