@Override public void assemble( ModuleAssembly module ) { module.layer().application().setName( "SomeApplication" ); module.transients( Country1.class ); module.transients( Country2.class ).withConcerns( TimingCaptureAllConcern.class ); module.transients( Country3.class ).withConcerns( TimingCaptureConcern.class ); metricsAssembler().assemble( module ); }
@Override protected final void defineApplication( ApplicationAssembly app ) { app.setName( "app" ); LayerAssembly domain = app.layer( "domain" ); ModuleAssembly model = domain.module( "model" ); model.entities( Person.class, PersonList.class ) .visibleIn( Visibility.layer ); ModuleAssembly services = domain.module( "services" ); services.services( Commands.class, Queries.class ) .instantiateOnStartup() .visibleIn( Visibility.application ); LayerAssembly config = app.layer( "config" ); ModuleAssembly configModule = config.module( "config" ); new EntityTestAssembler() .visibleIn( Visibility.module ) .assemble( configModule ); LayerAssembly infra = app.layer( "infra" ); ModuleAssembly storage = infra.module( "storage" ); entityStoreAssembler( configModule, Visibility.application ) .visibleIn( Visibility.application ) .assemble( storage ); metricsAssembler() .visibleIn( Visibility.application ) .assemble( infra.module( "metrics" ) ); domain.uses( infra ); infra.uses( config ); }
@Override protected final void defineApplication( ApplicationAssembly app ) { app.setName( "app" ); LayerAssembly domain = app.layer( "domain" ); ModuleAssembly model = domain.module( "model" ); model.entities( Person.class, PersonList.class ) .visibleIn( Visibility.layer ); ModuleAssembly services = domain.module( "services" ); services.services( Commands.class, Queries.class ) .instantiateOnStartup() .visibleIn( Visibility.application ); LayerAssembly config = app.layer( "config" ); ModuleAssembly configModule = config.module( "config" ); new EntityTestAssembler() .visibleIn( Visibility.module ) .assemble( configModule ); LayerAssembly infra = app.layer( "infra" ); ModuleAssembly storage = infra.module( "storage" ); entityStoreAssembler( configModule, Visibility.application ) .visibleIn( Visibility.application ) .assemble( storage ); metricsAssembler() .visibleIn( Visibility.application ) .assemble( infra.module( "metrics" ) ); domain.uses( infra ); infra.uses( config ); }
@Override public void assemble( ModuleAssembly module ) { module.layer().application().setName( "SomeApplication" ); module.transients( Country1.class ); module.transients( Country2.class ).withConcerns( TimingCaptureAllConcern.class ); module.transients( Country3.class ).withConcerns( TimingCaptureConcern.class ); metricsAssembler().assemble( module ); }