package ru.vyarus.dropwizard.guice.module.installer.order; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * May be applied to extension in order to order extensions. * <p>NOTE: Extension installer must implement {@link Ordered} otherwise annotation will not make any effect.</p> * <p>Also, may be applied to installer to order installers. Installers ordering may be useful if you have some * edge case, which is normally handled by core installer. Without ordering you will have to manually register * all installers to place your installer before. With ordered you could simply annotate your installer and it * will be executed before default installers. Also, may be used to order your own installers order. * Core installers are ordered from 10 to 100 with gap 10 (to simplify injection of custom installers between them).</p> * * @author Vyacheslav Rusakov * @since 12.10.2014 */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface Order { /** * @return order */ int value(); }