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

All Known Implementing Classes:
AssemblyVisitorAdapter

public interface AssemblyVisitor<ThrowableType extends java.lang.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 java.lang.Throwable
Throws:
ThrowableType extends java.lang.Throwable

visitLayer

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

visitModule

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

visitComposite

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

visitEntity

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

visitService

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

visitImportedService

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

visitValue

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

visitObject

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