ReadDataModule<TModule, TItem> Class

Summary

A base class for modules that read documents from data that can be turned into a Dictionary<string,object>.
Assembly
Wyam.Common.dll
Namespace
Wyam.Common.Modules
Interfaces
Base Types
  • Object
Derived Types
graph BT Type-->Base0["Object"] Type-.->Interface0["IModule"] click Interface0 "/api/Wyam.Common.Modules/IModule" Type["ReadDataModule<TModule, TItem>"] class Type type-node Derived0["Objects"]-->Type click Derived0 "/api/Wyam.Core.Modules.Metadata/Objects" Derived1["Xml"]-->Type click Derived1 "/api/Wyam.Core.Modules.Metadata/Xml" Derived2["Sql"]-->Type click Derived2 "/api/Wyam.Core.Modules.Metadata/Sql"

Syntax

public abstract class ReadDataModule<TModule, TItem> : IModule 
    where TModule : ReadDataModule<TModule, TItem> where TItem : class

Type Parameters

Name Description
TModule The current module type, allows fluent methods defined in the base class to return the properly typed derived class.
TItem The type of items this module is designed to process.

Methods

Name Value Summary
AddKeyConversion(string, string) TModule
Allows renaming of keys during document creation: "If you find key X, create it as key Y instead."
ExcludeKeys(string[]) TModule
Allows creation of a list of keys to discard.
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.
GetDictionary(TItem) IDictionary<string, Object>
Used to convert each object from Wyam.Common.Modules.ReadDataModule`2.GetItems(System.Collections.Generic.IReadOnlyList{Wyam.Common.Documents.IDocument},Wyam.Common.Execution.IExecutionContext) into a IDictionary<string, object>. The base implementation checks if the object implements IDictionary<string, object> and just performs a cast is if it does. If not, reflection is used to construct a IDictionary<string, object> from all of the object's properties. Override this method to provide an alternate way of getting key-value pairs for each object.
GetItems(IReadOnlyList<IDocument>, IExecutionContext) IEnumerable<TItem>
Gets the items to convert to documents. The Wyam.Common.Modules.ReadDataModule`2.GetDictionary(`1) method is used to convert each item into a series of key-value pairs that is then used for document creation.
IncludeKeys(string[]) TModule
Allows creation of a list of keys to keep. If this list any members, any keys other than those in this list will be discarded.
WithContentKey(string) TModule
Specifies which metakey should be used for the document content
WithLimit(int) TModule
Limits the number of created documents.
GitHub