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 {}