001package io.avaje.inject; 002 003import static java.lang.annotation.ElementType.METHOD; 004import static java.lang.annotation.ElementType.TYPE; 005import static java.lang.annotation.RetentionPolicy.RUNTIME; 006 007import java.lang.annotation.Documented; 008import java.lang.annotation.Retention; 009import java.lang.annotation.Target; 010 011/** 012 * The <code>Priority</code> annotation can be applied to classes to indicate the wiring priority of 013 * a bean to resolve cases where multiple beans of the same type exist. 014 * 015 * <p>Beans can be returned using other Priority annotation such as <code> 016 * jakartak.annotation.Priority 017 * </code> or any custom priority annotation that has an <code>int value()</code> attribute. 018 * 019 * @see BeanScope#listByPriority(Type) 020 */ 021@Documented 022@Retention(RUNTIME) 023@Target({TYPE, METHOD}) 024public @interface Priority { 025 int value(); 026}