Package org.apache.tapestry5.ioc

## Interface MethodAdviceReceiver

- All Superinterfaces:
    `AnnotationAccess`
  All Known Subinterfaces:
    `AspectInterceptorBuilder<T>`
  All Known Implementing Classes:
    `AbtractAspectInterceptorBuilder`, `AspectInterceptorBuilderImpl`

      public interface MethodAdviceReceiver
      extends AnnotationAccess

  Interface used with service advisor methods to define advice. Allows advice on specific methods, or on all methods.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `adviseAllMethods​(MethodAdvice advice)` | Advises all methods of the interface with the given advice.
    `void` | `adviseMethod​(Method method, MethodAdvice advice)` | Adds advice for a specific method of the aspect interceptor being constructed.
    `Class` | `getInterface()` | Returns the interface for which methods may be advised.
    `<T extends Annotation> T` | `getMethodAnnotation​(Method method, Class<T> annotationType)` | Gets an annotation from a method, via `AnnotationAccess.getMethodAnnotationProvider(String, Class...)`.

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

      `getClassAnnotationProvider, getMethodAnnotationProvider`

- - ### Method Detail

    - #### adviseAllMethods

          void adviseAllMethods​(MethodAdvice advice)

      Advises all methods of the interface with the given advice.
      Parameters:
        `advice` - the method advice to be applied.
      Since:
        5.3

    - #### adviseMethod

          void adviseMethod​(Method method,
                            MethodAdvice advice)

      Adds advice for a specific method of the aspect interceptor being constructed.
      Parameters:
        `method` - method (of the interface for which an interceptor is being constructed) to be advised. Multiple advice is allowed for a single method; the advice will be executed in the order it is added.
        `advice` - the advice for this particular method. Advice must be threadsafe.
      Since:
        5.3

    - #### getInterface

          Class getInterface()

      Returns the interface for which methods may be advised.
      Returns:
        the interface class instance.
      Since:
        5.1.0.0

    - #### getMethodAnnotation

          <T extends Annotation> T getMethodAnnotation​(Method method,
                                                       Class<T> annotationType)

      Gets an annotation from a method, via `AnnotationAccess.getMethodAnnotationProvider(String, Class...)`.
      Type Parameters:
        `T` - type of annotation
      Parameters:
        `method` - method to search
        `annotationType` - type of annotation
      Returns:
        the annotation found on the underlying implementation class (if known) or service interface, or null if not found