001package io.avaje.inject; 002 003import static java.lang.annotation.ElementType.FIELD; 004import static java.lang.annotation.ElementType.PARAMETER; 005import static java.lang.annotation.RetentionPolicy.SOURCE; 006 007import java.lang.annotation.Documented; 008import java.lang.annotation.Retention; 009import java.lang.annotation.Target; 010import java.lang.reflect.Type; 011 012/** 013 * Marks this dependency as an external bean not managed by avaje inject. 014 * Compile-time validation will be disabled for this type. 015 * <p> 016 * The external dependency is expected to be provided by 017 * {@link BeanScopeBuilder#bean(String, Type, Object)}. 018 */ 019@Documented 020@Retention(SOURCE) 021@Target({FIELD, PARAMETER}) 022public @interface External {}