org.apache.tapestry5.ioc.annotations

## Annotation Type PreventServiceDecoration

-     @Target(value={TYPE,METHOD})
       @Retention(value=RUNTIME)
       @Documented
       @UseWith(value=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()`

5.6.4 - Copyright © 2003-2021 The Apache Software Foundation.