Package org.apache.tapestry5.ioc.internal

# Class DefaultModuleDefImpl

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

All Implemented Interfaces:
  `ModuleDef`, `ModuleDef2`, `ServiceDefAccumulator`

public class DefaultModuleDefImpl extends Object implements ModuleDef2, ServiceDefAccumulator
Starting from the Class for a module, identifies all the services (service builder methods), decorators (service decorator methods) and (not yet implemented) contributions (service contributor methods).

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DefaultModuleDefImpl(Class<?> moduleClass, org.slf4j.Logger logger, PlasticProxyFactory proxyFactory)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addServiceDef(ServiceDef serviceDef)`
  `Set<AdvisorDef>`
  `getAdvisorDefs()`
  Returns all the service advisor definitions built/provided by this module.
  `Class`
  `getBuilderClass()`
  Returns the class that will be instantiated.
  `Set<ContributionDef>`
  `getContributionDefs()`
  Returns all the contribution definitions built/provided by this module.
  `Set<DecoratorDef>`
  `getDecoratorDefs()`
  Returns all the decorator definitions built/provided by this module.
  `String`
  `getLoggerName()`
  Returns the name used to create a `Logger` instance.
  `ServiceDef`
  `getServiceDef(String serviceId)`
  Returns a service definition via the service's id.
  `Set<String>`
  `getServiceIds()`
  Returns the ids of the services built/provided by the module.
  `Set<StartupDef>`
  `getStartups()`
  Methods marked with @Startup are converted into Runnable instances and assigned here.
  `String`
  `toString()`
  Identifies the module class and a list of service ids within the module.

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

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

- ## Constructor Details

  - ### DefaultModuleDefImpl

    public DefaultModuleDefImpl(Class<?> moduleClass, org.slf4j.Logger logger, PlasticProxyFactory proxyFactory)
    Parameters:
      `moduleClass` - the class that is responsible for building services, etc.
      `logger` - based on the class name of the module
      `proxyFactory` - factory used to create proxy classes at runtime

- ## Method Details

  - ### toString

    public String toString()
    Identifies the module class and a list of service ids within the module.
    Overrides:
      `toString` in class `Object`

  - ### getBuilderClass

    public Class getBuilderClass()
    Description copied from interface: `ModuleDef`
    Returns the class that will be instantiated. Annotated instance methods of this class are invoked to build services, to decorate/intercept services, and make contributions to other services. Note: this name is maintained for compatibilty; the term "module builder" is now just "module class".
    Specified by:
      `getBuilderClass` in interface `ModuleDef`

  - ### getServiceIds

    public Set<String> getServiceIds()
    Description copied from interface: `ModuleDef`
    Returns the ids of the services built/provided by the module.
    Specified by:
      `getServiceIds` in interface `ModuleDef`

  - ### getServiceDef

    public ServiceDef getServiceDef(String serviceId)
    Description copied from interface: `ModuleDef`
    Returns a service definition via the service's id. Ideally, the returned value should be an instance of `ServiceDef2`, and will be converted to such if necessary.
    Specified by:
      `getServiceDef` in interface `ModuleDef`
    Parameters:
      `serviceId` - the id of the service to retrieve (case is ignored)
    Returns:
      service definition or null if it doesn't exist

  - ### addServiceDef

    public void addServiceDef(ServiceDef serviceDef)
    Specified by:
      `addServiceDef` in interface `ServiceDefAccumulator`

  - ### getDecoratorDefs

    public Set<DecoratorDef> getDecoratorDefs()
    Description copied from interface: `ModuleDef`
    Returns all the decorator definitions built/provided by this module.
    Specified by:
      `getDecoratorDefs` in interface `ModuleDef`

  - ### getContributionDefs

    public Set<ContributionDef> getContributionDefs()
    Description copied from interface: `ModuleDef`
    Returns all the contribution definitions built/provided by this module.
    Specified by:
      `getContributionDefs` in interface `ModuleDef`

  - ### getLoggerName

    public String getLoggerName()
    Description copied from interface: `ModuleDef`
    Returns the name used to create a `Logger` instance. This is typically the builder class name.
    Specified by:
      `getLoggerName` in interface `ModuleDef`

  - ### getAdvisorDefs

    public Set<AdvisorDef> getAdvisorDefs()
    Description copied from interface: `ModuleDef2`
    Returns all the service advisor definitions built/provided by this module.
    Specified by:
      `getAdvisorDefs` in interface `ModuleDef2`

  - ### getStartups

    public Set<StartupDef> getStartups()
    Description copied from interface: `ModuleDef2`
    Methods marked with @Startup are converted into Runnable instances and assigned here.
    Specified by:
      `getStartups` in interface `ModuleDef2`