Class ModuleConfigBuilder

java.lang.Object
io.vertigo.core.node.config.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 invalid input: '&' plugins - aspects - definitions (defined by resources or providers)
Author:
npiedeloup, pchretien
  • Method Details

    • addAspect

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

      public ModuleConfigBuilder addAmplifierMethod(Class<? extends AmplifierMethod> proxyMethodClass)
      Adds a amplifier method.
      Parameters:
      amplifierMethodClass - the amplifier 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
    • addPlugin

      public ModuleConfigBuilder addPlugin(Class<? extends Plugin> pluginImplClass, List<Param> params)
    • addPlugin

      public ModuleConfigBuilder addPlugin(Class<? extends Plugin> pluginApiClass, Class<? extends Plugin> pluginImplClass, List<Param> params)
    • 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
    • build

      public ModuleConfig build()
      Builds and returns the final object.
      Specified by:
      build in interface Builder<ModuleConfig>
      Returns:
      Built object