Mercurial > projects > dil
diff src/docgen/graphutils/writers.d @ 806:bcb74c9b895c
Moved out files in the trunk folder to the root.
author | Aziz K?ksal <aziz.koeksal@gmail.com> |
---|---|
date | Sun, 09 Mar 2008 00:12:19 +0100 |
parents | trunk/src/docgen/graphutils/writers.d@db7e27b5c180 |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/docgen/graphutils/writers.d Sun Mar 09 00:12:19 2008 +0100 @@ -0,0 +1,59 @@ +/** + * Author: Jari-Matti Mäkelä + * License: GPL3 + */ +module docgen.graphutils.writers; + +public import docgen.graphutils.writer; +import docgen.graphutils.dotwriter; +import docgen.graphutils.modulepathwriter; +import docgen.graphutils.modulenamewriter; + +class DefaultGraphWriterFactory : AbstractWriterFactory, GraphWriterFactory { + public: + + this(DocGenerator generator) { + super(generator); + } + + GraphWriter createGraphWriter(PageWriter writer, GraphFormat outputFormat) { + switch (outputFormat) { + case GraphFormat.Dot: + return new DotWriter(this, writer); + case GraphFormat.ModuleNames: + return new ModuleNameWriter(this, writer); + case GraphFormat.ModulePaths: + return new ModulePathWriter(this, writer); + default: + throw new Exception("Graph writer type does not exist!"); + } + } +} + +class DefaultCachingGraphWriterFactory : AbstractWriterFactory, CachingGraphWriterFactory { + public: + + CachingDocGenerator generator; + + this(CachingDocGenerator generator) { + super(generator); + this.generator = generator; + } + + GraphCache graphCache() { + return generator.graphCache; + } + + override GraphWriter createGraphWriter(PageWriter writer, GraphFormat outputFormat) { + switch (outputFormat) { + case GraphFormat.Dot: + return new CachingDotWriter(this, writer); + case GraphFormat.ModuleNames: + return new ModuleNameWriter(this, writer); + case GraphFormat.ModulePaths: + return new ModulePathWriter(this, writer); + default: + throw new Exception("Graph writer type does not exist!"); + } + } +}