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}