Ah, it doesn't. Makes things far too complicated and I don't want to create a new Spring.
Instead, what I am doing in my own app is this,
public class EntityStoreAssembler extends NavigatableAssembler
implements Assembler
{
@Override
public void assemble( ModuleAssembly module )
throws AssemblyException
{
ModuleAssembly configModule = find( module, ConfigLayerAssembly.NAME, InfraConfigModule.NAME );
new LevelDBEntityStoreAssembler()
.visibleIn( Visibility.application )
.withConfig( configModule, Visibility.application )
.identifiedBy( "storage" )
.assemble( module );
}
}
And the "find()" method sits in the superclass, but could just have been in a static utility
protected ModuleAssembly find( ModuleAssembly current, String layer, String module )
{
return current.layer().application().layer( layer ).module( module );
}
I have still not come to terms with the 'granularity' of these wrapping Assemblers, whether they should be small or large, the entire module or each chunk of functionality.
I am also trying to figure out how I can do this modular enough, so I can put each "function" in a different sub-project, and have it assembled nicely in some aggregate.
Niclas