org.qi4j.index.sql.assembly
Class AbstractSQLIndexQueryAssembler<T extends AbstractSQLIndexQueryAssembler>

java.lang.Object
  extended by org.qi4j.index.sql.assembly.AbstractSQLIndexQueryAssembler<T>
All Implemented Interfaces:
Assembler
Direct Known Subclasses:
PostgreSQLIndexQueryAssembler

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


Field Summary
static java.lang.String DEFAULT_IDENTITY
           
 
Constructor Summary
AbstractSQLIndexQueryAssembler()
           
 
Method Summary
 void assemble(ModuleAssembly module)
          Assemblers receive a callback to the ModuleAssembly they are supposed to configure.
protected abstract  java.lang.Class<?> getIndexQueryServiceType()
           
protected  org.sql.generation.api.vendor.SQLVendor getSQLVendor()
           
 T identifiedBy(java.lang.String identity)
           
 T visibleIn(Visibility visibility)
           
 T withConfig(ModuleAssembly configModule)
           
 T withConfigVisibility(Visibility configVisibility)
           
 T withReindexingStrategy(java.lang.Class<? extends ReindexingStrategy> reindexingStrategy)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_IDENTITY

public static final java.lang.String DEFAULT_IDENTITY
See Also:
Constant Field Values
Constructor Detail

AbstractSQLIndexQueryAssembler

public AbstractSQLIndexQueryAssembler()
Method Detail

identifiedBy

public T identifiedBy(java.lang.String identity)

visibleIn

public T visibleIn(Visibility visibility)

withConfig

public T withConfig(ModuleAssembly configModule)

withConfigVisibility

public T withConfigVisibility(Visibility configVisibility)

withReindexingStrategy

public T withReindexingStrategy(java.lang.Class<? extends ReindexingStrategy> reindexingStrategy)

getSQLVendor

protected org.sql.generation.api.vendor.SQLVendor getSQLVendor()
                                                        throws java.io.IOException
Throws:
java.io.IOException

getIndexQueryServiceType

protected abstract java.lang.Class<?> getIndexQueryServiceType()

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