package org.atomnuke.container.service.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * Marks service requirements. * * Requirements may be specified in two ways: * * The first and preferred way is by using this annotation to private an * enumeration of the required service interface classses. * * Alternatively, for more complex requirements, a reference to a requires.xml * for this service located within its local classpath may be specified. To do * this, set the lookup value of this annotation to the correct location. * * @author zinic */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public @interface Requires { Class[] value() default {}; String lookup() default ""; }