Package org.apache.tapestry5.ioc.internal

## Class ContributionDefImpl

- java.lang.Object
- - org.apache.tapestry5.ioc.internal.ContributionDefImpl

- All Implemented Interfaces:
    `ContributionDef`, `ContributionDef2`, `ContributionDef3`, `Markable`

      public class ContributionDefImpl
      extends java.lang.Object
      implements ContributionDef3

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ContributionDefImpl​(java.lang.String serviceId, java.lang.reflect.Method contributorMethod, boolean optional, PlasticProxyFactory proxyFactory, java.lang.Class serviceInterface, java.util.Set<java.lang.Class> markers)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `contribute​(ModuleBuilderSource moduleSource, ServiceResources resources, Configuration configuration)` | Performs the work needed to contribute into the standard, unordered configuration.
    `void` | `contribute​(ModuleBuilderSource moduleSource, ServiceResources resources, MappedConfiguration configuration)` | Performs the work needed to contribute into the mapped configuration.
    `void` | `contribute​(ModuleBuilderSource moduleSource, ServiceResources resources, OrderedConfiguration configuration)` | Performs the work needed to contribute into the ordered configuration.
    `java.util.Set<java.lang.Class>` | `getMarkers()` | Returns an optional set of marker annotation.
    `java.lang.String` | `getServiceId()` | Identifies the service contributed to.
    `java.lang.Class` | `getServiceInterface()` | Returns the service interface associated with the service.
    `boolean` | `isOptional()` | Is this contribution optional, meaning it is not an error if the service to which the contribution is targetted does not exist.
    `java.lang.String` | `toString()` |

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

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

- - ### Constructor Detail

    - #### ContributionDefImpl

          public ContributionDefImpl​(java.lang.String serviceId,
                                     java.lang.reflect.Method contributorMethod,
                                     boolean optional,
                                     PlasticProxyFactory proxyFactory,
                                     java.lang.Class serviceInterface,
                                     java.util.Set<java.lang.Class> markers)

  - ### Method Detail

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### isOptional

          public boolean isOptional()

      Description copied from interface: `ContributionDef3`
      Is this contribution optional, meaning it is not an error if the service to which the contribution is targetted does not exist.
      Specified by:
        `isOptional` in interface `ContributionDef3`

    - #### getServiceId

          public java.lang.String getServiceId()

      Description copied from interface: `ContributionDef`
      Identifies the service contributed to.
      Specified by:
        `getServiceId` in interface `ContributionDef`

    - #### contribute

          public void contribute​(ModuleBuilderSource moduleSource,
                                 ServiceResources resources,
                                 Configuration configuration)

      Description copied from interface: `ContributionDef`
      Performs the work needed to contribute into the standard, unordered configuration.
      Specified by:
        `contribute` in interface `ContributionDef`
      Parameters:
        `moduleSource` - the source, if needed, of the module instance associated with the contribution
        `resources` - allows access to services visible to the module
        `configuration` - the unordered configuration into which values should be loaded. This instance will encapsulate all related error checks (such as passing of nulls or inappropriate classes).

    - #### contribute

          public void contribute​(ModuleBuilderSource moduleSource,
                                 ServiceResources resources,
                                 OrderedConfiguration configuration)

      Description copied from interface: `ContributionDef`
      Performs the work needed to contribute into the ordered configuration.
      Specified by:
        `contribute` in interface `ContributionDef`
      Parameters:
        `moduleSource` - the source, if needed, of the module instance associated with the contribution
        `resources` - allows access to services visible to the module
        `configuration` - the ordered configuration into which values should be loaded. This instance will encapsulate all related error checks (such as passing of nulls or inappropriate classes).

    - #### contribute

          public void contribute​(ModuleBuilderSource moduleSource,
                                 ServiceResources resources,
                                 MappedConfiguration configuration)

      Description copied from interface: `ContributionDef`
      Performs the work needed to contribute into the mapped configuration.
      Specified by:
        `contribute` in interface `ContributionDef`
      Parameters:
        `moduleSource` - the source, if needed, of the module instance associated with the contribution
        `resources` - allows access to services visible to the module
        `configuration` - the mapped configuration into which values should be loaded. This instance will encapsulate all related error checks (such as passing of null keys or values or inappropriate classes, or duplicate keys).

    - #### getMarkers

          public java.util.Set<java.lang.Class> getMarkers()

      Description copied from interface: `Markable`
      Returns an optional set of marker annotation. Marker annotations are used to disambiguate services; the combination of a marker annotation and a service type is expected to be unique. Note that it is not possible to identify which annotations are markers and which are not when this set is constructed, so it may include non-marker annotations.
      Specified by:
        `getMarkers` in interface `Markable`
      See Also:
        `ServiceDef.getMarkers()`

    - #### getServiceInterface

          public java.lang.Class getServiceInterface()

      Description copied from interface: `Markable`
      Returns the service interface associated with the service.
      Specified by:
        `getServiceInterface` in interface `Markable`
      See Also:
        `ServiceDef.getServiceInterface()`