# Package org.qi4j.bootstrap

Assembly and Bootstrap API.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  ApplicationAssembler | Implement this interface to create the root class that is responsible for assembling your entire application.
  ApplicationAssembly | An application assembly.
  ApplicationAssemblyFactory | Factory for creating new Zest application assemblies.
  ApplicationModelFactory | Factory for ApplicationModelSPI's.
  Assembler | ModuleAssemblies are configured by Assemblers.
  Assemblers.Configurable<AssemblerType> | Assembler with Configuration interface.
  Assemblers.Identifiable<AssemblerType> | Assembler with Identity interface.
  Assemblers.Visible<AssemblerType> | Assembler with Visibility interface.
  AssemblyVisitor<ThrowableType extends Throwable> | Visitor interface to visit the whole or parts of an assembly.
  AssociationDeclarations | This provides declared `Association` information that the runtime can use.
  ConfigurationAssembly | This represents the assembly information of a single ConfigurationComposite in a Module.
  ConfigurationDeclaration | Fluent API for declaring configurations.
  EntityAssembly | This represents the assembly information of a single EntityComposite in a Module.
  EntityDeclaration | Fluent API for declaring entities.
  ImportedServiceAssembly | This represents the assembly information of a single imported service in a Module.
  ImportedServiceDeclaration | Fluent API for declaring imported services.
  LayerAssembly | Fluid API for declaring a layer in an application.
  ManyAssociationDeclarations | This provides declared `ManyAssociation` information that the runtime can use.
  MixinDeclaration<T> | Fluent API for declaring information about properties
  ModuleAssembly | The ModuleAssembly is used to register any information about * what the module should contain, such as composites, entities and services.
  NamedAssociationDeclarations | This provides declared `NamedAssociation` information that the runtime can use.
  ObjectAssembly | This represents the assembly information of a single object type in a Module.
  ObjectDeclaration | Fluent API for declaring objects.Instances of this API are acquired by calling `ModuleAssembly.objects(Class[])`.
  Qi4jRuntime | This interface has to be implemented by Zest runtimes.
  RuntimeFactory | Zest runtime factory.
  ServiceAssembly | This represents the assembly information of a single ServiceComposite in a Module.
  ServiceDeclaration | Fluent API for declaring services hosted in Zest.
  StateDeclarations | This provides declared `Property` information that the runtime can use.
  TransientAssembly | This represents the assembly information of a single TransientComposite in a Module.
  TransientDeclaration | Fluent API for declaring TransientComposites.
  ValueAssembly | This represents the assembly information of a single ValueComposite in a Module.
  ValueDeclaration | Fluent API for declaring values

- Class Summary
  Class | Description
  --- | ---
  ApplicationAssemblerAdapter | Helper base class for application assemblers that want to either create applications using only one layer/module, or that wants to create pancake-layered applications.
  ApplicationName | Set the name of the application
  AssemblerCollection | Assembler that delegates to a collection of Assemblers.
  Assemblers | Assembler adapters for common use cases (visibility, identity, configuration).
  Assemblers.Config<AssemblerType> | Assembler with Configuration adapter.
  Assemblers.Identity<AssemblerType> | Assembler with Identity adapter.
  Assemblers.IdentityConfig<AssemblerType> | Assembler with Identity and Configuration adapter.
  Assemblers.Visibility<AssemblerType> | Assembler with Visibility adapter.
  Assemblers.VisibilityConfig<AssemblerType> | Assembler with Visibility and Configuration adapter.
  Assemblers.VisibilityIdentity<AssemblerType> | Assembler with Visibility and Identity adapter.
  Assemblers.VisibilityIdentityConfig<AssemblerType> | Assembler with Visibility, Identity and Configuation adapter.
  AssemblySpecifications | Utility specifications for Assemblies.
  AssemblyVisitorAdapter<ThrowableType extends Throwable> | Base class for assembly visitors.
  ClassScanner | Scan classpath for classes that matches given criteria.
  Energy4Java | Main bootstrap class for starting Zest and creating new applications.
  LayerName | Set the name of the layer
  MetaInfoDeclaration | Declaration of a Property or Association.
  ModuleName | Set the name of the module
  RuntimeFactory.StandaloneApplicationRuntimeFactory | Standalone application Zest runtime factory.
  SingletonAssembler | Base class for Assembler that creates an Application with one Layer and one Module.

- Exception Summary
  Exception | Description
  --- | ---
  AssemblyException | Thrown by ModuleAssembly if the Assembler tries to make an invalid assembly.
  BindingException | Thrown by the Zest runtime if a dependency can not be bound.
  BootstrapException | This exception is thrown if no ApplicationFactory provider can be found
  InjectionException | Thrown by the Zest runtime if a dependency can not be injected.
  InvalidInjectionException | Thrown by the Zest runtime if a dependency injection declaration is invalid.

## Package org.qi4j.bootstrap Description

## Assembly and Bootstrap API.