X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=sixth.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fcore%2Fdocument%2Fcontent%2FListElement.java;fp=src%2Fmain%2Fjava%2Feu%2Fsvjatoslav%2Fsixth%2Fcore%2Fdocument%2Fcontent%2FListElement.java;h=c4e442538e332396102a49b68285ffcc0d9b9aca;hp=0000000000000000000000000000000000000000;hb=e8052e0b1948260c3701bfe80dfaa8fdf5c38053;hpb=e6e265a23ae9e32b65ba6a70d302ae680e73138f diff --git a/src/main/java/eu/svjatoslav/sixth/core/document/content/ListElement.java b/src/main/java/eu/svjatoslav/sixth/core/document/content/ListElement.java new file mode 100644 index 0000000..c4e4425 --- /dev/null +++ b/src/main/java/eu/svjatoslav/sixth/core/document/content/ListElement.java @@ -0,0 +1,58 @@ +package eu.svjatoslav.sixth.core.document.content; + +import eu.svjatoslav.commons.string.String2; +import eu.svjatoslav.commons.string.tokenizer.TokenizerMatch; +import eu.svjatoslav.sixth.core.document.text.FormattedText; + +import java.util.ArrayList; +import java.util.List; + +import static eu.svjatoslav.sixth.core.document.Helper.TG_DOCUMENT_PROPERTY; + +public class ListElement implements Content { + public final FormattedText name; + public final int indent; + public final ListElement parent; + private String type; + private final List content = new ArrayList<>(); + + public ListElement(FormattedText name, int indent, ListElement parent, String type) { + this.indent = indent; + this.name = name; + this.parent = parent; + this.type = type; + } + + public void addContent(ListElement content) { + this.content.add(content); + } + + public void parse(TokenizerMatch tm) { + + if (tm.isGroup(TG_DOCUMENT_PROPERTY)) { +// System.out.println("DOCUMENT PROPERT!!!: " + tm.token); + return; + } + + if (tm.isGroup(null)) { +// System.out.println(" Plain text content: " + tm.token); + return; + } + + System.out.println("ERROR!!!! Unable to handle: " + tm); + + } + + + public void toMD(StringBuilder sb, int i) { + if (indent >= 0){ + String2 s = new String2(); + s.addSuffix(" ", indent).addSuffix(type).addSuffix(" ").addSuffix(name.toMD()).addSuffix("\n"); + sb.append(s.toString()); + } + + for (Content c : content) { + c.toMD(sb, indent + 2); + } + } +}