Package org.apache.tapestry5.ioc.def

## Interface ServiceDef3

- All Superinterfaces:
    `AnnotationAccess`, `ServiceDef`, `ServiceDef2`
  All Known Implementing Classes:
    `ServiceDefImpl`

      public interface ServiceDef3
      extends ServiceDef2, AnnotationAccess

  Introduced for Tapestry 5.3, contains new methods to provide access to annotations on the class, and on methods of the class. In rare cases, the same annotation type will appear on the service interface and on the class (or method implementation in the class); the implementation annotation always has precedence over the interface annotation.
  Since:
    5.3

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Class` | `getServiceImplementation()` | Returns the service implementation associated with this service.

    - ### Methods inherited from interface org.apache.tapestry5.ioc.AnnotationAccess

      `getClassAnnotationProvider, getMethodAnnotationProvider`

    - ### Methods inherited from interface org.apache.tapestry5.ioc.def.ServiceDef

      `createServiceCreator, getMarkers, getServiceId, getServiceInterface, getServiceScope, isEagerLoad`

    - ### Methods inherited from interface org.apache.tapestry5.ioc.def.ServiceDef2

      `isPreventDecoration`

- - ### Method Detail

    - #### getServiceImplementation

          @IncompatibleChange(release="5.4",
                              details="Added method")
          Class getServiceImplementation()

      Returns the service implementation associated with this service. When creating the proxies for the service interface, the implementation of the service interface methods will receive the annotations of the corresponding method in the service interface.
      Since:
        5.4