Package org.apache.tapestry5.ioc

## Interface AdvisorDef

- All Known Subinterfaces:
    `AdvisorDef2`
  All Known Implementing Classes:
    `AdvisorDefImpl`

      public interface AdvisorDef

  Definition of a service advisor, which (by default) is derived from a service advisor method. Service advisor methods are static or instance methods on module classes prefixed with "advise". When a service is realized, a list of matching AdvisorDefs is generated, then ordered, and from each a `ServiceAdvisor` is obtained and invoked. Note: service decorators (via `DecoratorDef` are applied around the interceptor generated via service advisors, (for compatibility with Tapestry 5.0). In general, you should use service decoration or service advice, not both.
  Since:
    5.1.0.0

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `ServiceAdvisor` | `createAdvisor​(ModuleBuilderSource moduleSource, ServiceResources resources)` | Creates an object that can provide the service advice (in the default case, by invoking the advise method on the module class or instance).
    `String` | `getAdvisorId()` | Returns the id of the advisor, which is derived from the advisor method name.
    `String[]` | `getConstraints()` | Returns ordering constraints for this advisor, to order it relative to other advisors.
    `boolean` | `matches​(ServiceDef serviceDef)` | Used to determine which services may be advised.

- - ### Method Detail

    - #### getAdvisorId

          String getAdvisorId()

      Returns the id of the advisor, which is derived from the advisor method name.

    - #### getConstraints

          String[] getConstraints()

      Returns ordering constraints for this advisor, to order it relative to other advisors.
      Returns:
        zero or more constraint strings

    - #### createAdvisor

          ServiceAdvisor createAdvisor​(ModuleBuilderSource moduleSource,
                                       ServiceResources resources)

      Creates an object that can provide the service advice (in the default case, by invoking the advise method on the module class or instance).
      Parameters:
        `moduleSource` - used to obtain the module instance
        `resources` - used to provide injections into the advise method
      Returns:
        advisor

    - #### matches

          boolean matches​(ServiceDef serviceDef)

      Used to determine which services may be advised. When advising a service, first the advisors that target the service are identified, then ordering occurs, then the `ServiceAdvisor`s are obtained and invoked.
      Parameters:
        `serviceDef` - identifies a service that may be advised
      Returns:
        true if this advisor applies to the service