net.sourceforge.plantuml.filesdiagram.FilesDiagram Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of plantuml-mit Show documentation
Show all versions of plantuml-mit Show documentation
PlantUML is a component that allows to quickly write diagrams from text.
// THIS FILE HAS BEEN GENERATED BY A PREPROCESSOR.
package net.sourceforge.plantuml.filesdiagram;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import net.sourceforge.plantuml.FileFormatOption;
import net.sourceforge.plantuml.UmlDiagram;
import net.sourceforge.plantuml.core.DiagramDescription;
import net.sourceforge.plantuml.core.ImageData;
import net.sourceforge.plantuml.core.UmlSource;
import net.sourceforge.plantuml.klimt.shape.TextBlock;
import net.sourceforge.plantuml.skin.UmlDiagramType;
import net.sourceforge.plantuml.text.StringLocated;
public class FilesDiagram extends UmlDiagram {
private final FilesListing list;
public FilesDiagram(UmlSource source) {
super(source, UmlDiagramType.FILES, null);
this.list = new FilesListing(getSkinParam());
final Iterator it = source.iterator2();
it.next();
while (it.hasNext()) {
final String line = it.next().getString();
if (line.startsWith("/"))
this.list.addRawEntry(line.substring(1));
else if (line.startsWith(""))
this.list.addNote(getNote(it));
}
}
private List getNote(Iterator it) {
final List result = new ArrayList();
while (it.hasNext()) {
final String line = it.next().getString();
if (line.startsWith(" "))
return result;
result.add(line);
}
return Collections.unmodifiableList(result);
}
public DiagramDescription getDescription() {
return new DiagramDescription("(Files)");
}
@Override
protected ImageData exportDiagramInternal(OutputStream os, int index, FileFormatOption fileFormatOption)
throws IOException {
return createImageBuilder(fileFormatOption).drawable(getTextBlock()).write(os);
}
@Override
protected TextBlock getTextBlock() {
return list;
}
}