@Target({PARAMETER,FIELD})
@Retention(RUNTIME)
@Documented
@Qualifier
public @interface Decorated
A decorator may inject metadata about the bean it is decorating
@Decorator
class TimestampLogger implements Logger {
@Inject
@Delegate
@Any
Logger logger;
@Inject
@Decorated
Bean<Logger> bean;
void log(String message) {
...
}
}