Module io.avaje.spi
Package io.avaje.spi

Annotation Type Service


@Target(TYPE) @Retention(CLASS) public @interface Service
Marks a class/interface as service type (not an implementation).

Use when the type is meant to be the default inferred type.


 @Service
 sealed class A permits B {
   ...
 }

 non-sealed class B extends A {
   ...
 }

 //the default inferred SPI is A instead of B
 @ServiceProvider
 class C extends B {
   ...
 }