001package io.avaje.inject;
002
003import java.lang.annotation.ElementType;
004import java.lang.annotation.Retention;
005import java.lang.annotation.RetentionPolicy;
006import java.lang.annotation.Target;
007
008/**
009 * Specify a bean that has prototype scope.
010 * <p>
011 * A new instance of this bean will be created each time it is requested or wired.
012 *
013 * <pre>{@code
014 *
015 * @Prototype
016 * class EmailSendHandler {
017 *
018 *   ...
019 * }
020 * }</pre>
021 */
022@Target({ElementType.TYPE, ElementType.METHOD})
023@Retention(RetentionPolicy.RUNTIME)
024public @interface Prototype {
025}