Package org.apache.tapestry5.ioc.internal

# Class ModuleImpl

java.lang.Object
org.apache.tapestry5.ioc.internal.ModuleImpl

All Implemented Interfaces:
  `Module`, `ModuleBuilderSource`

public class ModuleImpl extends Object implements Module

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ModuleImpl(InternalRegistry registry, ServiceActivityTracker tracker, ModuleDef moduleDef, PlasticProxyFactory proxyFactory, org.slf4j.Logger logger)`

- ## 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.
  `Object`
  `getModuleBuilder()`
  Returns the instantiated version of the Tapestry IoC module class.
  `<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.
  `String`
  `toString()`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### ModuleImpl

    public ModuleImpl(InternalRegistry registry, ServiceActivityTracker tracker, ModuleDef moduleDef, PlasticProxyFactory proxyFactory, org.slf4j.Logger logger)

- ## Method Details

  - ### getService

    public <T> T getService(String serviceId, Class<T> serviceInterface)
    Description copied from interface: `Module`
    Locates a service given a service id and the corresponding service interface type.
    Specified by:
      `getService` in interface `Module`
    Parameters:
      `serviceId` - identifies the service to access
      `serviceInterface` - the interface the service implements
    Returns:
      the service's proxy

  - ### findMatchingDecoratorDefs

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

  - ### findMatchingServiceAdvisors

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

  - ### findServiceIdsForInterface

    public Collection<String> findServiceIdsForInterface(Class serviceInterface)
    Description copied from interface: `Module`
    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).
    Specified by:
      `findServiceIdsForInterface` in interface `Module`
    Parameters:
      `serviceInterface` - the interface to search for
    Returns:
      a collection of service ids

  - ### collectEagerLoadServices

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

  - ### getModuleBuilder

    public Object getModuleBuilder()
    Description copied from interface: `ModuleBuilderSource`
    Returns the instantiated version of the Tapestry IoC module class.
    Specified by:
      `getModuleBuilder` in interface `ModuleBuilderSource`

  - ### getContributorDefsForService

    public Set<ContributionDef2> getContributorDefsForService(ServiceDef serviceDef)
    Description copied from interface: `Module`
    Finds any contributions that are targeted at the indicated service.
    Specified by:
      `getContributorDefsForService` in interface `Module`

  - ### getServiceDef

    public ServiceDef3 getServiceDef(String serviceId)
    Description copied from interface: `Module`
    Returns the service definition for the given service id.
    Specified by:
      `getServiceDef` in interface `Module`
    Parameters:
      `serviceId` - unique id for the service (caseless)
    Returns:
      the service definition or null

  - ### getLoggerName

    public String getLoggerName()
    Description copied from interface: `Module`
    Returns the name used to obtain a logger for the module. Services within the module suffix this with a period and the service id.
    Specified by:
      `getLoggerName` in interface `Module`
    Returns:
      module logger name

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Object`