/// <summary> /// /// </summary> /// <param name="package"></param> /// <param name="sw"></param> /// <param name="packagePath"></param> private void writePackage(PackageVO package, StreamWriter sw, string packagePath) { string pathName = ""; if (packagePath != "") { pathName = packagePath + "/" + package.name; } else { pathName = package.name; } // 要素別AsciiDocファイルの出力先を指定 string elementsDir = ProjectSetting.getVO().projectPath + "\\elements"; // 直下に出力すべき要素が1つも存在しないパッケージは出力の対象外とする(ドキュメント内での項番も不要) if (countPrintableElement(package) > 0) { sw.WriteLine("## パッケージ: " + pathName); sw.WriteLine("// GUID: " + package.guid); sw.WriteLine(""); // このパッケージ直下にダイアグラムを持っていたら if (package.diagrams != null && package.diagrams.Count > 0) { foreach (DiagramVO diag in package.diagrams) { // writeDiagramData(diag, sw); writeDiagramPlantUml(diag, sw); } } foreach (ElementVO elem in package.elements) { if (elem.eaType == "Class" || elem.eaType == "Interface" || elem.eaType == "Enumeration" || elem.eaType == "UseCase" || elem.eaType == "Actor") { //ElementAsciidocWriter.writeElement(elem, sw); string relPath = ElementAsciidocWriter.doWrite(elementsDir, elem); writeElementInclude(sw, relPath); } } sw.WriteLine("<<<"); sw.WriteLine(""); } if (package.childPackageList != null && package.childPackageList.Count > 0) { foreach (PackageVO pkg in package.childPackageList) { writePackage(pkg, sw, pathName); } } }
/// <summary> /// /// </summary> /// <param name="package"></param> /// <param name="sw"></param> /// <param name="packagePath"></param> private void writePackage(PackageVO package, StreamWriter sw, string packagePath) { string pathName = ""; if (packagePath != "") { pathName = packagePath + "/" + package.name; } else { pathName = package.name; } // 直下に出力すべき要素が1つも存在しないパッケージは出力の対象外とする(ドキュメント内での項番も不要) if (countPrintableElement(package) > 0) { sw.WriteLine("## パッケージ: " + pathName); sw.WriteLine("// GUID: " + package.guid); sw.WriteLine(""); foreach (ElementVO elem in package.elements) { if (elem.eaType == "Class" || elem.eaType == "Interface" || elem.eaType == "Enumeration") { ElementAsciidocWriter.writeElement(elem, sw); } } sw.WriteLine("<<<"); sw.WriteLine(""); } if (package.childPackageList != null && package.childPackageList.Count > 0) { foreach (PackageVO pkg in package.childPackageList) { writePackage(pkg, sw, pathName); } } }