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

  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 Details

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