org.qi4j.bootstrap

## Interface ConfigurationDeclaration

-     public interface ConfigurationDeclaration

  Fluent API for declaring configurations. Instances of this API are acquired by calling `ModuleAssembly.configurations(Class[])`.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ConfigurationDeclaration` | `setMetaInfo(Object info)` Set additional metainfo for this configuration declaration.
    `ConfigurationDeclaration` | `visibleIn(Visibility visibility)` Set visibility for declared entities.
    `ConfigurationDeclaration` | `withConcerns(Class<?>... concerns)` Declare additional concerns for these configurations.
    `ConfigurationDeclaration` | `withMixins(Class<?>... mixins)` Declare additional mixins for these configurations.
    `ConfigurationDeclaration` | `withSideEffects(Class<?>... sideEffects)` Declare additional side-effects for these configurations.
    `ConfigurationDeclaration` | `withTypes(Class<?>... types)` Declare additional interfaces for these declared interfaces.

- - ### Method Detail

    - #### setMetaInfo

          ConfigurationDeclaration setMetaInfo(Object info)

      Set additional metainfo for this configuration declaration.
      Parameters:
        `info` - metainfo that can be retrieved from the CompositeDescriptor.
      Returns:
        This instance for a fluid DSL

    - #### visibleIn

          ConfigurationDeclaration visibleIn(Visibility visibility)

      Set visibility for declared entities.
      Parameters:
        `visibility` - The `Visibility` that this ConfigurationComposite will have.
      Returns:
        This instance for a fluid DSL

    - #### withConcerns

          ConfigurationDeclaration withConcerns(Class<?>... concerns)

      Declare additional concerns for these configurations.
      Parameters:
        `concerns` - The concerns that are to be added to the ConfigurationComposite beyond the statically declared ones.
      Returns:
        This instance for a fluid DSL

    - #### withSideEffects

          ConfigurationDeclaration withSideEffects(Class<?>... sideEffects)

      Declare additional side-effects for these configurations.
      Parameters:
        `sideEffects` - The sideeffects that are to be added to the ConfigurationComposite beyond the statically declared ones.
      Returns:
        This instance for a fluid DSL

    - #### withMixins

          ConfigurationDeclaration withMixins(Class<?>... mixins)

      Declare additional mixins for these configurations.

      This can be useful to override any default mixins from the configuration interface.

      Parameters:
        `mixins` - The mixins that are to be added to the ConfigurationComposite beyond the statically declared ones.
      Returns:
        This instance for a fluid DSL

    - #### withTypes

          ConfigurationDeclaration withTypes(Class<?>... types)

      Declare additional interfaces for these declared interfaces.

      This can be useful to add types that the Configuration should implement, but which you do not want to include in the entity interface itself.

      Parameters:
        `types` - list of interfaces to add
      Returns:
        This instance for a fluid DSL