package com.mastfrog.acteur.annotations; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * Annotate Guice modules with this and GenericApplictionModule will install * them if they are on the classpath. This module will automatically look up * any modules registered with @GuiceModule and install them (unless their * exact type is in the exclusion list passed to GenericApplictionModule's * constructor). * <p/> * Such modules <i>must</i> have a no-arg constructor or a 1-arg constructor * where the argument type is Settings, or a 2-arg constructor in which one * argument is Settings and the other is ReentrantScope (since some applications * need to do special binding of things within Acteur's request scope). * * @author Tim Boudreau */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public @interface GuiceModule { public static final String META_INF_PATH = "META-INF/http/modules.list"; }