blob: 906f7b8c3c1f6325d70a43b90c54afd2f61b5a7c [file] [log] [blame]
/*
* Copyright (c) 2011, 2012, 2015 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.ArticlePackage;
import org.eclipse.emf.cdo.releng.doc.article.JavaPackage;
import org.eclipse.emf.cdo.releng.doc.article.Javadoc;
import org.eclipse.emf.cdo.releng.doc.article.Plugin;
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.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import com.sun.javadoc.PackageDoc;
import java.io.File;
import java.io.IOException;
/**
* <!-- begin-user-doc --> An implementation of the model object '<em><b>Javadoc</b></em>'. <!-- end-user-doc -->
* <p>
* </p>
*
* @generated
*/
public class JavadocImpl extends CategoryImpl implements Javadoc
{
private static final String OVERVIEW_SUMMARY = "javadoc/overview-summary.html";
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
protected JavadocImpl()
{
super();
}
JavadocImpl(StructuralElement parent, PackageDoc packageDoc)
{
super(parent, packageDoc);
}
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
@Override
protected EClass eStaticClass()
{
return ArticlePackage.Literals.JAVADOC;
}
@Override
public void generate() throws IOException
{
// Do nothing
}
@Override
public String linkFrom(StructuralElement source)
{
File sourceFile = source.getOutputFile();
File targetFile = new File(getDocumentation().getProjectFolder(), OVERVIEW_SUMMARY);
return ArticleUtil.createLink(sourceFile, targetFile);
}
@Override
protected void generateTocEntry(TocWriter writer) throws IOException
{
writer.writeGroupStart(getTitle(), OVERVIEW_SUMMARY, null);
for (Plugin plugin : getDocumentation().getPlugins())
{
EList<JavaPackage> packages = plugin.getPackages();
if (!packages.isEmpty())
{
String href = getHref(packages.get(0));
writer.writeGroupStart(plugin.getLabel(), href, "plugin");
for (JavaPackage javaPackage : packages)
{
href = getHref(javaPackage);
writer.writeSingle(javaPackage.getName(), href, "package");
}
writer.writeGroupEnd();
}
}
writer.writeGroupEnd();
}
private String getHref(JavaPackage javaPackage)
{
return "javadoc/" + javaPackage.getName().replace('.', '/') + "/package-summary.html";
}
} // JavadocImpl