Package org.apache.tapestry5.ioc.internal

# Interface Module

All Superinterfaces:
  `ModuleBuilderSource`

All Known Implementing Classes:
  `ModuleImpl`

public interface Module extends ModuleBuilderSource
A module within the Tapestry IoC registry. Each Module is constructed around a corresponding module builder instance; the methods and annotations of that instance define the services provided by the module.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `collectEagerLoadServices(Collection<EagerLoadServiceProxy> proxies)`
  Locates services with the `EagerLoad` annotation and generates proxies for them, then adds them to the proxies list for instantiation.
  `Set<DecoratorDef>`
  `findMatchingDecoratorDefs(ServiceDef serviceDef)`
  Iterates over any decorator definitions defined by the module and returns those that apply to the provided service definition.
  `Set<AdvisorDef>`
  `findMatchingServiceAdvisors(ServiceDef serviceDef)`
  Iterates over any advisor definitions defined by the module and returns those that apply to the provided service definition.
  `Collection<String>`
  `findServiceIdsForInterface(Class serviceInterface)`
  Locates the ids of all services that implement the provided service interface, or whose service interface is assignable to the provided service interface (is a super-class or super-interface).
  `Set<ContributionDef2>`
  `getContributorDefsForService(ServiceDef serviceDef)`
  Finds any contributions that are targeted at the indicated service.
  `String`
  `getLoggerName()`
  Returns the name used to obtain a logger for the module.
  `<T> T`
  `getService(String serviceId, Class<T> serviceInterface)`
  Locates a service given a service id and the corresponding service interface type.
  `ServiceDef3`
  `getServiceDef(String serviceId)`
  Returns the service definition for the given service id.

  ### Methods inherited from interface org.apache.tapestry5.ioc.ModuleBuilderSource

  `getModuleBuilder`

- ## Method Details

  - ### getService

    <T> T getService(String serviceId, Class<T> serviceInterface)
    Locates a service given a service id and the corresponding service interface type.
    Type Parameters:
      `T` -
    Parameters:
      `serviceId` - identifies the service to access
      `serviceInterface` - the interface the service implements
    Returns:
      the service's proxy
    Throws:
      `RuntimeException` - if there is an error instantiating the service proxy

  - ### findServiceIdsForInterface

    Collection<String> findServiceIdsForInterface(Class serviceInterface)
    Locates the ids of all services that implement the provided service interface, or whose service interface is assignable to the provided service interface (is a super-class or super-interface).
    Parameters:
      `serviceInterface` - the interface to search for
    Returns:
      a collection of service ids

  - ### findMatchingDecoratorDefs

    Set<DecoratorDef> findMatchingDecoratorDefs(ServiceDef serviceDef)
    Iterates over any decorator definitions defined by the module and returns those that apply to the provided service definition.
    Parameters:
      `serviceDef` - for which decorators are being assembled
    Returns:
      set of decorators, possibly empty (but not null)

  - ### findMatchingServiceAdvisors

    Set<AdvisorDef> findMatchingServiceAdvisors(ServiceDef serviceDef)
    Iterates over any advisor definitions defined by the module and returns those that apply to the provided service definition.
    Parameters:
      `serviceDef` - for which advisors are being assembled
    Returns:
      set of advisors, possibly empty but not null
    Since:
      5.1.0.0

  - ### getContributorDefsForService

    Set<ContributionDef2> getContributorDefsForService(ServiceDef serviceDef)
    Finds any contributions that are targeted at the indicated service.

  - ### collectEagerLoadServices

    void collectEagerLoadServices(Collection<EagerLoadServiceProxy> proxies)
    Locates services with the `EagerLoad` annotation and generates proxies for them, then adds them to the proxies list for instantiation.
    Parameters:
      `proxies` - collection of proxies to which any eager load services in the module should be added

  - ### getServiceDef

    ServiceDef3 getServiceDef(String serviceId)
    Returns the service definition for the given service id.
    Parameters:
      `serviceId` - unique id for the service (caseless)
    Returns:
      the service definition or null

  - ### getLoggerName

    String getLoggerName()
    Returns the name used to obtain a logger for the module. Services within the module suffix this with a period and the service id.
    Returns:
      module logger name