ModuleCollection Class

Summary

Executes child modules enabling better reuse.
Assembly
Wyam.Core.dll
Namespace
Wyam.Core.Modules.Extensibility
Interfaces
Base Types
graph BT Type-->Base0["ContainerModule"] click Base0 "/api/Wyam.Common.Modules/ContainerModule" Base0-->Base1["Object"] Type-.->Interface0["IModule"] click Interface0 "/api/Wyam.Common.Modules/IModule" Type-.->Interface1["IModuleList"] click Interface1 "/api/Wyam.Common.Modules/IModuleList" Type-.->Interface2["IList<IModule>"] Type["ModuleCollection"] class Type type-node

Syntax

public class ModuleCollection : ContainerModule, IModule, IModuleList, IList<IModule>

Examples

 ModuleCollection common = ModuleCollection(ModuleA(), ModuleB(), ModuleC());

 Piplines.Add("A",
     ModuleX(),
     ModuleY(),
     common,
     ModuleZ()
 );

 Piplines.Add("B",
     ModuleX(),
     common,
     ModuleZ()
 );

Remarks

All child modules will be executed as if they were inline. This enables you to specify a sequence of modules outside of a pipeline and then reuse that sequence of modules in multiple pipelines. Note that this module is also handy for wrapping a single module that has a complex configuration if you expect to use it in multiple places.

Constructors

Name Summary
ModuleCollection(IEnumerable<IModule>) Creates a module collection with the specified child modules. Any null items in the sequence of modules will be discarded.
ModuleCollection(IModule[]) Creates a module collection with the specified child modules. Any null items in the sequence of modules will be discarded.

Properties

Name Value Summary
Count int
Inherited from ContainerModule
IsReadOnly bool
Inherited from ContainerModule
this[int] IModule
Inherited from ContainerModule
this[string] IModule
Gets the module with the specified name.
Inherited from ContainerModule

Methods

Name Value Summary
Add(IModule) void
Inherited from ContainerModule
Add(IModule[]) void
Adds modules to the list. Any null items in the sequence of modules will be discarded.
Inherited from ContainerModule
Add(string, IModule) void
Adds a module to the list with a specified name.
Inherited from ContainerModule
AsKeyValuePairs() IEnumerable<KeyValuePair<string, IModule>>
Returns the list as a sequence of key-value pairs with the keys being the module names and the values being the module instances.
Inherited from ContainerModule
Clear() void
Inherited from ContainerModule
Contains(IModule) bool
Inherited from ContainerModule
Contains(string) bool
Determines if the list contains a module with the specified name.
Inherited from ContainerModule
CopyTo(IModule[], int) void
Inherited from ContainerModule
Execute(IReadOnlyList<IDocument>, IExecutionContext) IEnumerable<IDocument>
This should not be called directly, instead call IExecutionContext.Execute() if you need to execute a module from within another module.
GetEnumerator() IEnumerator<IModule>
Inherited from ContainerModule
IndexOf(IModule) int
Inherited from ContainerModule
IndexOf(string) int
Gets the index of the module with the specified name.
Inherited from ContainerModule
Insert(int, IModule) void
Inherited from ContainerModule
Insert(int, IModule[]) void
Inserts modules into the list. Any null items in the sequence of modules will be discarded.
Inherited from ContainerModule
Insert(int, string, IModule) void
Inserts a module into the list with a specified name.
Inherited from ContainerModule
Remove(IModule) bool
Inherited from ContainerModule
Remove(string) bool
Removes a module by name.
Inherited from ContainerModule
RemoveAt(int) void
Inherited from ContainerModule
TryGetValue(string, IModule) bool
Attempts to get a module with the specified name.
Inherited from ContainerModule
GitHub