DocumentationComposer Class

Namespace
Kampute.DocToolkit
Assembly
  • Kampute.DocToolkit.dll

Definition

Represents a base class for generating documentation pages.
public abstract class DocumentationComposer
Inheritance
Inherited by

Remarks

The DocumentationComposer class orchestrates the generation of documentation pages, managing both the traversal of the code structure and the production of individual documentation pages. It functions as the controller in the documentation generation process, working with a renderer to transform code metadata into formatted documentation.

The class uses the Template Method pattern, defining the generation algorithm while delegating the actual rendering to an IDocumentRenderer implementation. This separation of concerns allows the composer to focus on the structure and organization of the documentation while the renderer handles the formatting details.

The FileSystemDocumentationComposer class provides a ready-to-use implementation of this class that writes documentation to the file system.

Constructors

DocumentationComposer()Initializes a new instance of the DocumentationComposer class.

Properties

RendererGets the documentation renderer.

Methods

GenerateDocumentation(IDocumentWriterFactory, IDocumentationContext)Generates documentation pages for the specified documentation context.
GenerateDocumentationForClass(IDocumentWriterFactory, ClassModel, PageGranularity)Generates documentation pages for the specified class type and its members.
GenerateDocumentationForCompositeTypeMembers(IDocumentWriterFactory, CompositeTypeModel)Generates documentation pages for the members of the specified composite type (class or struct).
GenerateDocumentationForConstructors(IDocumentWriterFactory, IReadOnlyList<ConstructorModel>)Generates documentation page for the specified constructors.
GenerateDocumentationForDelegate(IDocumentWriterFactory, DelegateModel)Generates documentation page for the specified delegate type.
GenerateDocumentationForEnum(IDocumentWriterFactory, EnumModel)Generates documentation page for the specified enum type.
GenerateDocumentationForEvents(IDocumentWriterFactory, IEnumerable<EventModel>)Generates documentation pages for the specified events.
GenerateDocumentationForFields(IDocumentWriterFactory, IEnumerable<FieldModel>)Generates documentation pages for the specified fields.
GenerateDocumentationForInterface(IDocumentWriterFactory, InterfaceModel, PageGranularity)Generates documentation pages for the specified interface type and its members.
GenerateDocumentationForMethods(IDocumentWriterFactory, IEnumerable<MethodModel>)Generates documentation pages for the specified methods.
GenerateDocumentationForNamespace(IDocumentWriterFactory, NamespaceModel, PageGranularity)Generates documentation pages for the specified namespace and the types it contains.
GenerateDocumentationForOperators(IDocumentWriterFactory, IEnumerable<OperatorModel>)Generates documentation pages for the specified operators.
GenerateDocumentationForProperties(IDocumentWriterFactory, IEnumerable<PropertyModel>)Generates documentation pages for the specified properties.
GenerateDocumentationForStruct(IDocumentWriterFactory, StructModel, PageGranularity)Generates documentation pages for the specified struct type and its members.
GenerateDocumentationForTopic(IDocumentWriterFactory, TopicModel)Generates documentation page for the specified topic.
GenerateDocumentationForTypes(IDocumentWriterFactory, IReadOnlyTypeCollection, PageGranularity)Generates documentation pages for the types in the specified collection.

See Also