org.qi4j.library.sql.common
Class AbstractSQLAssembler

java.lang.Object
  extended by org.qi4j.library.sql.common.AbstractSQLAssembler
All Implemented Interfaces:
Assembler
Direct Known Subclasses:
DerbySQLEntityStoreAssembler, MySQLEntityStoreAssembler, PostgreSQLAssembler, PostgreSQLEntityStoreAssembler

public abstract class AbstractSQLAssembler
extends Object
implements Assembler


Constructor Summary
AbstractSQLAssembler()
           
AbstractSQLAssembler(DataSourceAssembler assembler)
           
AbstractSQLAssembler(Visibility visibility)
           
AbstractSQLAssembler(Visibility visibility, DataSourceAssembler assembler)
           
 
Method Summary
 void assemble(ModuleAssembly module)
          Assemblers receive a callback to the ModuleAssembly they are supposed to configure.
protected abstract  void doAssemble(ModuleAssembly module)
           
protected  DataSourceAssembler getDataSourceAssembler()
           
protected  Visibility getVisibility()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractSQLAssembler

public AbstractSQLAssembler()

AbstractSQLAssembler

public AbstractSQLAssembler(Visibility visibility)

AbstractSQLAssembler

public AbstractSQLAssembler(DataSourceAssembler assembler)

AbstractSQLAssembler

public AbstractSQLAssembler(Visibility visibility,
                            DataSourceAssembler assembler)
Method Detail

getDataSourceAssembler

protected DataSourceAssembler getDataSourceAssembler()

getVisibility

protected Visibility getVisibility()

assemble

public final 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

doAssemble

protected abstract void doAssemble(ModuleAssembly module)
                            throws AssemblyException
Throws:
AssemblyException