blob: f9636208ea8b887188cfbfb536703ca95f0f0601 [file] [log] [blame]
/*
* Copyright (c) 2011, 2012 Eike Stepper (Berlin, Germany) and others.
* 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
*
* Contributors:
* Eike Stepper - initial API and implementation
*/
package org.eclipse.emf.cdo.releng.doc.article.impl;
import org.eclipse.emf.cdo.releng.doc.article.Article;
import org.eclipse.emf.cdo.releng.doc.article.ArticlePackage;
import org.eclipse.emf.cdo.releng.doc.article.Chapter;
import org.eclipse.emf.cdo.releng.doc.article.StructuralElement;
import org.eclipse.emf.cdo.releng.doc.article.impl.DocumentationImpl.TocWriter;
import org.eclipse.emf.cdo.releng.doc.article.util.ArticleUtil;
import org.eclipse.emf.ecore.EClass;
import com.sun.javadoc.ClassDoc;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* <!-- begin-user-doc --> An implementation of the model object '<em><b>Article</b></em>'. <!-- end-user-doc -->
* <p>
* </p>
*
* @generated
*/
public class ArticleImpl extends ChapterImpl implements Article
{
private Map<String, Chapter> chapters = new HashMap<String, Chapter>();
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
protected ArticleImpl()
{
super();
}
ArticleImpl(StructuralElement parent, ClassDoc classDoc)
{
super(parent, classDoc);
}
void registerChapter(Chapter chapter)
{
if (!(chapter instanceof Article))
{
String name = chapter.getName();
if (chapters.put(name, chapter) != null)
{
throw new AssertionError("Ambiguous chapter name: " + ArticleUtil.makeConsoleLink(chapter.getDoc()));
}
}
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
@Override
protected EClass eStaticClass()
{
return ArticlePackage.Literals.ARTICLE;
}
@Override
protected String getKind()
{
return "Article";
}
@Override
protected void collectNavElements(List<StructuralElement> navElements)
{
navElements.add(this);
super.collectNavElements(navElements);
}
@Override
public void generate() throws IOException
{
generate(getOutputFile());
}
@Override
protected void generateTocEntry(TocWriter writer) throws IOException
{
writer.writeSingle(getTitle(), getTocHref(), null);
}
} // ArticleImpl