public interface ModuleAssembly
Use the methods and the fluent API's to declare how the module should be constructed.
Modifier and Type | Method and Description |
---|---|
ServiceDeclaration |
addServices(Class<?>... serviceTypes)
Create a list of ServiceComposites for this Module.
|
ConfigurationDeclaration |
configurations(Class<?>... configurationTypes)
Declare a list of Configuration Composites for this Module.
|
ConfigurationDeclaration |
configurations(Predicate<HasTypes> specification)
Given a Specification for Configuration, returns a ConfigurationDeclaration that can be used to work with all
of the assemblies matched by the specification.
|
ServiceDeclaration |
defaultServices()
|
EntityDeclaration |
entities(Class<?>... entityTypes)
Declare a list of EntityComposites for this Module.
|
EntityDeclaration |
entities(Predicate<? super EntityAssembly> specification)
Given a Specification for EntityAssembly's, returns a EntityDeclaration that can
be used to work with all of the assemblies matched by the specification.
|
<T> MixinDeclaration<T> |
forMixin(Class<T> mixinType) |
ImportedServiceDeclaration |
importedServices(Class<?>... serviceTypes)
Declare a list of imported services for this Module.
|
ImportedServiceDeclaration |
importedServices(Predicate<? super ImportedServiceAssembly> specification)
Given a Specification for ImportedServiceAssembly's, returns a ImportedServiceDeclaration that can
be used to work with all of the assemblies matched by the specification.
|
LayerAssembly |
layer()
Access the layer assembly for this module.
|
ModuleAssembly |
module(String layerName,
String moduleName)
Get an assembly for a particular Module.
|
String |
name()
Access the currently set name for this module.
|
ObjectDeclaration |
objects(Class<?>... objectTypes)
Declare a list of object classes for this Module.
|
ObjectDeclaration |
objects(Predicate<? super ObjectAssembly> specification)
Given a Specification for ObjectAssembly's, returns a ObjectDeclaration that can
be used to work with all of the assemblies matched by the specification.
|
ServiceDeclaration |
services(Class<?>... serviceTypes)
Declare a list of ServiceComposites for this Module.
|
ServiceDeclaration |
services(Predicate<? super ServiceAssembly> specification)
Given a Specification for ServiceAssembly's, returns a ServiceDeclaration that can
be used to work with all of the assemblies matched by the specification.
|
ModuleAssembly |
setMetaInfo(Object info) |
ModuleAssembly |
setName(String name)
Set the name of this module.
|
TransientDeclaration |
transients(Class<?>... transientTypes)
Declare a list of TransientComposites for this Module.
|
TransientDeclaration |
transients(Predicate<? super TransientAssembly> specification)
Given a Specification for TransientAssembly's, returns a TransientDeclaration that can
be used to work with all of the assemblies matched by the specification.
|
ValueDeclaration |
values(Class<?>... valueTypes)
Declare a list of ValueComposites for this Module.
|
ValueDeclaration |
values(Predicate<? super ValueAssembly> specification)
Given a Specification for ValueAssembly's, returns a ValueDeclaration that can
be used to work with all of the assemblies matched by the specification.
|
<ThrowableType extends Throwable> |
visit(AssemblyVisitor<ThrowableType> visitor) |
ModuleAssembly |
withActivators(Class<? extends Activator<Module>>... activators)
Set the module activators.
|
LayerAssembly layer()
ModuleAssembly module(String layerName, String moduleName)
layerName
- The name of the LayermoduleName
- The name of the Module to retrieve or create.ModuleAssembly setName(String name)
name
- The name that this Module should have.String name()
ModuleAssembly setMetaInfo(Object info)
ServiceDeclaration defaultServices()
IdentityGenerator
,
Serialization
and
MetricsProvider
.
If one of this default services is already assembled on this module it is not added.
The returned ServiceDeclaration
only apply to effectively defaulted services.ModuleAssembly withActivators(Class<? extends Activator<Module>>... activators)
activators
- the module activatorsTransientDeclaration transients(Class<?>... transientTypes)
transientTypes
- The types that specifies the Transient types.TransientDeclaration transients(Predicate<? super TransientAssembly> specification)
specification
- The Specification that specifies the TransientComposite types of interest.ValueDeclaration values(Class<?>... valueTypes)
valueTypes
- The types that specifies the Value types.ValueDeclaration values(Predicate<? super ValueAssembly> specification)
specification
- The Specification that specifies the ValueComposite types of interest.EntityDeclaration entities(Class<?>... entityTypes)
entityTypes
- The types that specifies the Entity types.EntityDeclaration entities(Predicate<? super EntityAssembly> specification)
specification
- The Specification that specifies the EntityComposite types of interest.ConfigurationDeclaration configurations(Class<?>... configurationTypes)
configurationTypes
- The types that specifies the Configuration types.ConfigurationDeclaration configurations(Predicate<HasTypes> specification)
specification
- The Specification that specifies the ConfigurationComposite types of interest.ObjectDeclaration objects(Class<?>... objectTypes) throws AssemblyException
objectTypes
- The types that specifies the Object types.AssemblyException
- on invalid assemblyObjectDeclaration objects(Predicate<? super ObjectAssembly> specification)
specification
- The Specification that specifies the Object types of interest.ServiceDeclaration addServices(Class<?>... serviceTypes)
serviceTypes
- The types that specifies the Service types.ServiceDeclaration services(Class<?>... serviceTypes)
serviceTypes
- The types that specifies the Service types.ServiceDeclaration services(Predicate<? super ServiceAssembly> specification)
specification
- The Specification that specifies the ServiceComposite types of interest.ImportedServiceDeclaration importedServices(Class<?>... serviceTypes)
serviceTypes
- The types that specifies the Imported Service types.ImportedServiceDeclaration importedServices(Predicate<? super ImportedServiceAssembly> specification)
specification
- The Specification that specifies the Imported Service types of interest.<T> MixinDeclaration<T> forMixin(Class<T> mixinType)
<ThrowableType extends Throwable> void visit(AssemblyVisitor<ThrowableType> visitor) throws ThrowableType extends Throwable
ThrowableType extends Throwable