@Target(value=METHOD)
@Retention(value=RUNTIME)
public @interface WeakDomainDependency
Annotates getter methods in order to declare where dependency loop
are recommended to be broken.
For example, consider the following dependencies ("->" means "depends on"):
User -> Attachment
Attachment -> Project
Project -> User
If we were to follow this dependency graph, we would end up in a loop. By annotating
one of the getters for these dependencies, we inform other code that this loop exists,
and that the annotated getter is where the dependency loop is recommended to be broken.
- See Also:
DomainObjectGraph