001package io.avaje.inject; 002 003import java.lang.annotation.Documented; 004import java.lang.annotation.Retention; 005import java.lang.annotation.Target; 006 007import static java.lang.annotation.ElementType.TYPE; 008import static java.lang.annotation.RetentionPolicy.RUNTIME; 009 010/** 011 * The <code>Priority</code> annotation can be applied to classes to indicate 012 * in what order they should be returned via @{@link BeanScope#listByPriority(Class)}. 013 * <p> 014 * Beans can be returned using other Priority annotation such as <code>javax.annotation.Priority</code> 015 * or any custom priority annotation that has an <code>int value()</code> attribute. 016 * </p> 017 * 018 * @see BeanScope#listByPriority(Class) 019 * @see BeanScope#listByPriority(Class, Class) 020 */ 021@Documented 022@Retention(RUNTIME) 023@Target(TYPE) 024public @interface Priority { 025 int value(); 026}