org.qi4j.library.sql.assembly
Class AbstractPooledDataSourceServiceAssembler<T extends AbstractPooledDataSourceServiceAssembler>

java.lang.Object
  extended by org.qi4j.library.sql.assembly.AbstractPooledDataSourceServiceAssembler<T>
All Implemented Interfaces:
Assembler
Direct Known Subclasses:
BoneCPDataSourceServiceAssembler, C3P0DataSourceServiceAssembler, DBCPDataSourceServiceAssembler

public abstract class AbstractPooledDataSourceServiceAssembler<T extends AbstractPooledDataSourceServiceAssembler>
extends java.lang.Object
implements Assembler


Field Summary
static java.lang.String DEFAULT_DATASOURCE_SERVICE_IDENTITY
           
 
Constructor Summary
AbstractPooledDataSourceServiceAssembler()
           
 
Method Summary
 void assemble(ModuleAssembly module)
          Assemblers receive a callback to the ModuleAssembly they are supposed to configure.
 T identifiedBy(java.lang.String dataSourceServiceId)
           
protected abstract  void onAssemble(ModuleAssembly module, java.lang.String identity, Visibility visibility)
           
 T visibleIn(Visibility visibility)
           
 T withConfig(ModuleAssembly configModule)
           
 T withConfigVisibility(Visibility configVisibility)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_DATASOURCE_SERVICE_IDENTITY

public static java.lang.String DEFAULT_DATASOURCE_SERVICE_IDENTITY
Constructor Detail

AbstractPooledDataSourceServiceAssembler

public AbstractPooledDataSourceServiceAssembler()
Method Detail

identifiedBy

public T identifiedBy(java.lang.String dataSourceServiceId)

visibleIn

public T visibleIn(Visibility visibility)

withConfig

public T withConfig(ModuleAssembly configModule)

withConfigVisibility

public T withConfigVisibility(Visibility configVisibility)

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

onAssemble

protected abstract void onAssemble(ModuleAssembly module,
                                   java.lang.String identity,
                                   Visibility visibility)