| /***************************************************************************** |
| * Copyright (c) 2019 CEA LIST. |
| * |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License 2.0 |
| * which accompanies this distribution, and is available at |
| * https://www.eclipse.org/legal/epl-2.0/ |
| * |
| * SPDX-License-Identifier: EPL-2.0 |
| * |
| * Contributors: |
| * Yupanqui Munoz (CEA LIST) yupanqui.munozjulho@cea.fr - Initial API and implementation |
| * Vincent Lorenzo (CEA LIST) vincent.lorenzo@cea.fr - Initial API and implementation |
| *****************************************************************************/ |
| package org.eclipse.papyrus.model2doc.core.transcription; |
| |
| import java.util.Collection; |
| |
| import org.eclipse.papyrus.model2doc.core.author.IAuthor; |
| import org.eclipse.papyrus.model2doc.core.builtintypes.AbstractList; |
| import org.eclipse.papyrus.model2doc.core.builtintypes.AbstractTable; |
| import org.eclipse.papyrus.model2doc.core.builtintypes.IFileReference; |
| import org.eclipse.papyrus.model2doc.core.generatorconfiguration.IDocumentGeneratorConfiguration; |
| |
| |
| /** |
| * Transcription Interface. |
| * This interface defines the methods for writing and generating any file kind (e.g., html, odt, odp, ods). |
| * |
| */ |
| public interface Transcription { |
| |
| /** |
| * Write Cover Page. |
| * |
| * @param coverPage |
| */ |
| public void writeCoverPage(CoverPage coverPage); |
| |
| /** |
| * Write Table of Contents. |
| * |
| * @param tocTitle |
| * the title to use for the Table Of Contents |
| */ |
| public void writeTableOfContents(String tocTitle); |
| |
| /** |
| * Write the Table of Figure |
| * |
| * @param tofTitle |
| * the title to use for the Table Of Figures |
| */ |
| public void writeTableOfFigures(String tofTitle); |
| |
| /** |
| * Refresh the contents of the table Of Contents, Table Of Index, ... |
| * Basically it must be called at the end of the transcription |
| */ |
| public void refreshTablesOfIndexes(); |
| |
| /** |
| * Write document main title. |
| * |
| * @param documentTitle |
| */ |
| public void writeDocumentMainTitle(String documentTitle); |
| |
| |
| /** |
| * this method allows to define the authors of the document |
| * |
| * @param authors |
| * the authors of the document |
| */ |
| public void writeAuthors(final Collection<IAuthor> authors); |
| |
| /** |
| * |
| * @param version |
| * the version of the document |
| */ |
| public void writeVersion(final String version); |
| |
| /** |
| * Write section title. |
| * |
| * @param sectionTitle |
| * @param sectionLevel |
| */ |
| public void writeSectionTitle(String sectionTitle, int sectionLevel); |
| |
| /** |
| * Write paragraph. |
| * |
| * @param paragraph |
| * @param processRichText |
| */ |
| public void writeParagraph(String paragraph, boolean processRichText); |
| |
| /** |
| * Write list. |
| * |
| * @param list |
| * @param processRichText |
| */ |
| public void writeList(AbstractList list, boolean processRichText); |
| |
| /** |
| * Add table. |
| * |
| * @param table |
| */ |
| public void writeTable(AbstractTable table); |
| |
| /** |
| * Insert the contents of a file in the document |
| * |
| * @param fileReference |
| * a reference to a file |
| */ |
| public void insertFile(final IFileReference fileReference); |
| |
| /** |
| * Import image. |
| * |
| * @param image |
| * the image to insert |
| * @param caption |
| * the caption of the inserted image |
| */ |
| public void importImage(ImageDescription image, String caption); |
| |
| /** |
| * |
| * @param imagePath |
| * the path of the image |
| * @param caption |
| * the caption of the image |
| */ |
| public void writeImage(final String imagePath, final String caption); |
| |
| /** |
| * Import image. |
| * |
| * @param image |
| */ |
| public void writeImageSubtitle(ImageDescription image); |
| |
| /** |
| * Save transcription. |
| * |
| * @param label |
| * the name of the new document |
| * @return |
| * a string representing the path of the new document |
| * TODO : clarify the format of the returned string |
| */ |
| public String save(String label); |
| |
| /** |
| * Get configuration of document generation. |
| * |
| * @return |
| */ |
| public IDocumentGeneratorConfiguration getGeneratorConfig(); |
| |
| /** |
| * Verify if transcription can execute. |
| * |
| * @return |
| */ |
| public boolean canExecute(); |
| |
| } |