org.qi4j.index.elasticsearch.internal
Class AbstractElasticSearchAssembler<AssemblerType extends AbstractElasticSearchAssembler>

java.lang.Object
  extended by org.qi4j.index.elasticsearch.internal.AbstractElasticSearchAssembler<AssemblerType>
All Implemented Interfaces:
Assembler
Direct Known Subclasses:
ESClusterIndexQueryAssembler, ESFilesystemIndexQueryAssembler, ESMemoryIndexQueryAssembler

public abstract class AbstractElasticSearchAssembler<AssemblerType extends AbstractElasticSearchAssembler>
extends java.lang.Object
implements Assembler


Constructor Summary
AbstractElasticSearchAssembler()
           
 
Method Summary
 void assemble(ModuleAssembly module)
          Assemblers receive a callback to the ModuleAssembly they are supposed to configure.
protected abstract  void doAssemble(java.lang.String identity, ModuleAssembly module, Visibility visibility, ModuleAssembly configModule, Visibility configVisibility)
           
 AssemblerType withConfigModule(ModuleAssembly configModule)
           
 AssemblerType withConfigVisibility(Visibility configVisibility)
           
 AssemblerType withIdentity(java.lang.String identity)
           
 AssemblerType withVisibility(Visibility visibility)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractElasticSearchAssembler

public AbstractElasticSearchAssembler()
Method Detail

withIdentity

public final AssemblerType withIdentity(java.lang.String identity)

withVisibility

public final AssemblerType withVisibility(Visibility visibility)

withConfigVisibility

public final AssemblerType withConfigVisibility(Visibility configVisibility)

withConfigModule

public final AssemblerType withConfigModule(ModuleAssembly configModule)

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(java.lang.String identity,
                                   ModuleAssembly module,
                                   Visibility visibility,
                                   ModuleAssembly configModule,
                                   Visibility configVisibility)
                            throws AssemblyException
Throws:
AssemblyException