2

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?

Bozho
  • 588,226
  • 146
  • 1,060
  • 1,140
matthias
  • 21
  • 2

1 Answers1

3

I don't think this is possible.

You can create two annotations: @OsgiService and @OsgiServiceFactory

Bozho
  • 588,226
  • 146
  • 1,060
  • 1,140