org.qi4j.bootstrap
Interface AssemblyVisitor<ThrowableType extends Throwable>

All Known Implementing Classes:
AssemblyVisitorAdapter

public interface AssemblyVisitor<ThrowableType extends Throwable>

Visitor interface to visit the whole or parts of an assembly. Implement this interface and call visit() on ApplicationAssembly, LayerAssembly or ModuleAssembly.

This can be used to, for example, add metadata to all entities, add concerns on composites, or similar.


Method Summary
 void visitApplication(ApplicationAssembly assembly)
           
 void visitComposite(TransientDeclaration declaration)
           
 void visitEntity(EntityDeclaration declaration)
           
 void visitImportedService(ImportedServiceDeclaration declaration)
           
 void visitLayer(LayerAssembly assembly)
           
 void visitModule(ModuleAssembly assembly)
           
 void visitObject(ObjectDeclaration declaration)
           
 void visitService(ServiceDeclaration declaration)
           
 void visitValue(ValueDeclaration declaration)
           
 

Method Detail

visitApplication

void visitApplication(ApplicationAssembly assembly)
                      throws ThrowableType extends Throwable
Throws:
ThrowableType extends Throwable

visitLayer

void visitLayer(LayerAssembly assembly)
                throws ThrowableType extends Throwable
Throws:
ThrowableType extends Throwable

visitModule

void visitModule(ModuleAssembly assembly)
                 throws ThrowableType extends Throwable
Throws:
ThrowableType extends Throwable

visitComposite

void visitComposite(TransientDeclaration declaration)
                    throws ThrowableType extends Throwable
Throws:
ThrowableType extends Throwable

visitEntity

void visitEntity(EntityDeclaration declaration)
                 throws ThrowableType extends Throwable
Throws:
ThrowableType extends Throwable

visitService

void visitService(ServiceDeclaration declaration)
                  throws ThrowableType extends Throwable
Throws:
ThrowableType extends Throwable

visitImportedService

void visitImportedService(ImportedServiceDeclaration declaration)
                          throws ThrowableType extends Throwable
Throws:
ThrowableType extends Throwable

visitValue

void visitValue(ValueDeclaration declaration)
                throws ThrowableType extends Throwable
Throws:
ThrowableType extends Throwable

visitObject

void visitObject(ObjectDeclaration declaration)
                 throws ThrowableType extends Throwable
Throws:
ThrowableType extends Throwable