org.qi4j.bootstrap
Class AssemblerCollection

java.lang.Object
  extended by org.qi4j.bootstrap.AssemblerCollection
All Implemented Interfaces:
Assembler

public final class AssemblerCollection
extends Object
implements Assembler

Assembler that delegates to a collection of Assemblers.

Makes it easy to collect and compose assemblers into bigger assemblers.


Constructor Summary
AssemblerCollection(Assembler... assemblers)
           
AssemblerCollection(Class<? extends Assembler>... assemblyClasses)
           
AssemblerCollection(Collection<Assembler> assemblers)
           
 
Method Summary
 void assemble(ModuleAssembly module)
          Assemblers receive a callback to the ModuleAssembly they are supposed to configure.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AssemblerCollection

public AssemblerCollection(Assembler... assemblers)

AssemblerCollection

public AssemblerCollection(Class<? extends Assembler>... assemblyClasses)
                    throws AssemblyException
Throws:
AssemblyException

AssemblerCollection

public AssemblerCollection(Collection<Assembler> assemblers)
Method Detail

assemble

public void assemble(ModuleAssembly module)
              throws AssemblyException
Description copied from interface: Assembler
Assemblers receive a callback to the ModuleAssembly they are supposed to configure. They can use this to register objects, composites, services etc. and the additional metadata that may exist for these artifacts.

An Assembler may create new Modules by calling ModuleAssembly.layer() and then LayerAssembly.module(String) (String)}. This allows an Assembler to bootstrap an entire Layer with more Modules.

Specified by:
assemble in interface Assembler
Parameters:
module - the Module to assemble
Throws:
AssemblyException - thrown if the assembler tries to do something illegal