Class ModuleConfigBuilder

  • All Implemented Interfaces:
    Builder<ModuleConfig>

    public final class ModuleConfigBuilder
    extends Object
    implements Builder<ModuleConfig>
    The moduleConfigBuilder defines the configuration of a module. A module has a name. A module is composed of - components & plugins - aspects - definitions (defined by resources or providers)
    Author:
    npiedeloup, pchretien
    • Method Detail

      • addAspect

        public ModuleConfigBuilder addAspect​(Class<? extends Aspect> implClass)
        Adds an aspect.
        Parameters:
        implClass - Class of the aspect
        Returns:
        this builder
      • addProxyMethod

        public ModuleConfigBuilder addProxyMethod​(Class<? extends ProxyMethod> proxyMethodClass)
        Adds a proxy method.
        Parameters:
        proxyMethodClass - the proxy method class
        Returns:
        this builder
      • addDefinitionProvider

        public ModuleConfigBuilder addDefinitionProvider​(DefinitionProviderConfig definitionProviderConfig)
        Adds a provider of definitions.
        Parameters:
        definitionProviderConfig - the definitionProviderConfig
        Returns:
        this builder
      • addDefinitionProvider

        public ModuleConfigBuilder addDefinitionProvider​(Class<? extends DefinitionProvider> definitionProviderClass,
                                                         Param... params)
        Adds a simple provider of definitions.
        Parameters:
        definitionProviderClass - the class of the provider
        params - the list of params
        Returns:
        this builder
      • addAmplifier

        public ModuleConfigBuilder addAmplifier​(Class<? extends Amplifier> apiClass,
                                                Param... params)
        Adds aa amplifier defined by an interface.
        Parameters:
        apiClass - api of the amplifie
        params - the list of params
        Returns:
        this builder
      • addComponent

        public ModuleConfigBuilder addComponent​(Class<? extends Component> implClass,
                                                Param... params)
        Adds a component defined by an implementation.
        Parameters:
        implClass - impl of the component
        params - the list of params
        Returns:
        this builder
      • addComponent

        public ModuleConfigBuilder addComponent​(Class<? extends Component> apiClass,
                                                Class<? extends Component> implClass,
                                                Param... params)
        Adds a component defined by an api and an implementation.
        Parameters:
        apiClass - api of the component
        implClass - impl of the component
        params - the list of params
        Returns:
        this builder
      • addComponent

        public ModuleConfigBuilder addComponent​(ComponentConfig componentConfig)
        Adds a component defined by its config.
        Parameters:
        componentConfig - the config of the component
        Returns:
        this builder
      • addPlugin

        public ModuleConfigBuilder addPlugin​(Class<? extends Plugin> pluginImplClass,
                                             Param... params)
        Adds a plugin defined by its implementation.
        Parameters:
        pluginImplClass - impl of the plugin
        params - the list of params
        Returns:
        this builder
      • addConnector

        public ModuleConfigBuilder addConnector​(Class<? extends Connector> connectorImplClass,
                                                Param... params)
        Adds a connector defined by its implementation.
        Parameters:
        connectorImplClass - impl of the connector
        params - the list of params
        Returns:
        this builder