Annotation Type PreventServiceDecoration


  • @Target({TYPE,METHOD})
    @Retention(RUNTIME)
    @Documented
    @UseWith(SERVICE)
    public @interface PreventServiceDecoration
    Marks a service as not eligible for decoration. This is useful for services that, if decorated, can cause cycle dependency errors; for example, MasterObjectProvider, or services contributed to MasterObjectProvider, are good candidates for this annotation. The annotation can be applied to service implementation class or to a service builder method in a module class. The annotation may also be placed on a module class, to indicate that all services defined for the module should not allow decoration. Service decoration includes the decoration mechanism (from Tapestry 5.0) and the newer service advice mechanism (from Tapestry 5.1). Generally, services that are used to advise or decorate other services (such as LoggingAdvisor or OperationAdvisor) should include this annotation, to prevent a recursive service build when they attempt to advise themselves.
    Since:
    5.1.0.0
    See Also:
    ServiceDef2.isPreventDecoration()