/******************************************************************************* * Copyright (c) 2010 Martin Schnabel <mb0@mb0.org>. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html ******************************************************************************/ package org.axdt.asdoc.parser.dita; import java.util.List; import org.axdt.asdoc.model.AsdocPackage; import org.axdt.asdoc.model.AsdocRoot; import org.axdt.asdoc.model.AsdocType; import org.axdt.asdoc.parser.AsdocParser; public class AsdocDitaParser extends AsdocParser { protected CollectPackages packageCollector; protected CollectTypes typeCollector; public AsdocDitaParser() { super(); } public boolean parsePackageLevel(AsdocRoot root) throws Exception { List<AsdocPackage> packages = collectPackages().collectPackages(root); root.setPackageContentParsed(true); return packages != null; } public boolean parseTypeLevel(AsdocRoot root) throws Exception { // boolean result = collectTypes().collectAllTypes(root); // root.setTypeContentParsed(true); // parse all details right away instead boolean result = collectTypes().collectAllDetails(root); root.setTypeContentParsed(true); root.setGlobalContentParsed(true); // root.setMemberContentParsed(true); return result; } public boolean parseGlobalLevel(AsdocRoot root) throws Exception { boolean result = collectTypes().collectAllGlobals(root); root.setGlobalContentParsed(true); return result; } public boolean parseMemberLevel(AsdocRoot root) throws Exception { boolean result = collectTypes().collectAllMembers(root); root.setMemberContentParsed(true); return result; } public boolean parseMemberLevel(AsdocType type) throws Exception { return collectTypes().collectMembers(type) != null; } public CollectPackages collectPackages() { if (packageCollector == null) packageCollector = new CollectPackages(); return packageCollector; } public CollectTypes collectTypes() { if (typeCollector == null) typeCollector = new CollectTypes(); return typeCollector; } }