|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |
@Retention(value=RUNTIME) @Target(value=TYPE) @Documented @InhabitantAnnotation(value="default") public @interface Service
Marker interface for service implementation. A service is defined by
an interface marked with the Contract
annotation. Each service
implementation must be marked with the @Service interface and
implement the service interface.
Factory
Optional Element Summary | |
---|---|
String |
metadata
Additional metadata that goes into the inhabitants file. |
String |
name
Name of the service. |
@Index public abstract String name
ContractLocator.named(String)
and similar methods can be used
to obtain a service with a particular name. All the named services
are still available through org.glassfish.hk2.Services#byType(Class)
.
The default value "" indicates that the inhabitant is anonymous.
public abstract String metadata
org.glassfish.hk2.Descriptor#metadata()
.
While this is limited in expressiveness, metadata has a performance advantage in it that it can be read without even creating a classloader for this class. For example, this feature is used by the configuration module so that the config file can be read without actually loading the classes.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: REQUIRED | OPTIONAL | DETAIL: ELEMENT |