Annotation Type Decorate


  • @Target({PARAMETER,METHOD,FIELD})
    @Retention(RUNTIME)
    @Inherited
    public @interface Decorate

    Annotation to support the workaround for supporting the decorator design pattern with Guice where we have some interface I, a default/base implementation A, and a decorator class B, which should accept as an argument the default implementation A. Normally, that would be a circular dependency, but using the annotation avoids that complication.

    Adapted from this post.

    Since:
    2.2
    Version:
    2.2
    Author:
    Michael Grove