2010-10-22 7 views
2

j'ai une annotation qui inclut plusieurs autres annotations, à peu près comme celui-ci ici:Java: Annotations annotées (et des valeurs passant)

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

ce qui signifie que toutes les classes annotées avec @OsgiService sont automatiquement également annotées @Component. Ce qui fonctionne bien.

Maintenant, cependant, j'aimerais ajouter une autre annotation, qui a un paramètre qui dépend du paramètre isFactory de @OsgiService.

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

Ce qui ne fonctionne pas. Cependant, comme isFactory propriété d'une annotation nécessite d'être une valeur statique, ne devrait-il pas être possible d'avoir quelque chose comme ça?

Répondre

3

Je ne pense pas que ce soit possible.

Vous pouvez créer deux annotations: @OsgiService et @OsgiServiceFactory

Questions connexes