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

    All Methods Instance Methods Concrete Methods
    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 Detail

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

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