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

  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 Details

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