views:

37

answers:

1

Hello, 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?

+3  A: 

I don't think this is possible.

You can create two annotations: @OsgiService and @OsgiServiceFactory

Bozho