Package com.complexible.common.inject

# Annotation Interface 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