package info.ebenoit.ebul.cmp;


import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;



/**
 * This annotation lists dependencies for a component. If some components are injected as dependencies through the
 * UseComponent annotation, they don't need to be listed here (same goes for the component indicated by
 * {@link IsDriverFor}).
 *
 * @author <a href="mailto:ebenoit@ebenoit.info">E. BenoƮt</a>
 */
@Retention( RetentionPolicy.RUNTIME )
@Target( ElementType.TYPE )
public @interface Dependencies
{

	/** List the component's dependencies */
	public String[]value( );

}