package com.mongodb.hvdf.services;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@Retention(RetentionPolicy.RUNTIME)
public @interface ServiceImplementation {
/**
* Public name of the service that will be referenced
* in the configuration as the service "model".
*/
String name();
/**
* Optional configuration class. When specified the framework will bind
* values in configuration to the fields of this class and inject an
* instance when the implementation is constructed.
* If a configuration class is specified, the implementation class must
* take an instance of this type as the last argument of its constructor.
*/
Class<?> configClass() default Void.class;
/**
* Optional service dependencies. Ordered array of dependency services that
* will be passed by the ServiceFactory to the implementation classes
* constructor.
*/
Class<?>[] dependencies() default {};
}