I have a annotation that does include several other annotations, pretty much like this one here:
@Component // Spring Component
@Interface OsgiService { boolean isFactory() }
meaning that all classes annotated with @OsgiService shall automatically also be annotated as @Component. Which works fine.
Now however, I'd like to add another annotation, that has a parameter which is dependent of the isFactory parameter of @OsgiService.
@Component // Spring Component
@Scope(isFactory() ? "prototype" : "singleton")
@Interface OsgiService { boolean isFactory() }
Which does not work. However, as isFactory property of an annotation requires to be a static value, shouldn't it be possible to have something like this?
解决方案
I don't think this is possible.
You can create two annotations: @OsgiService and @OsgiServiceFactory