1 package eu.svjatoslav.sixth.core.document;
3 import eu.svjatoslav.sixth.core.document.text.FormattedText;
5 import static eu.svjatoslav.sixth.core.document.text.FormattedText.fromOrg;
7 public class Document {
8 public final Heading rootHeading = new Heading( fromOrg("<root>") , 0, null);
10 private Heading currentHeading = rootHeading;
12 public Heading createHeading(FormattedText name, int targetLevel){
13 if (currentHeading.level == (targetLevel - 1)){
14 Heading newHeading = new Heading(name, targetLevel, currentHeading);
15 currentHeading.addChild(newHeading);
16 currentHeading = newHeading;
20 if (currentHeading.level > (targetLevel - 1)){
21 currentHeading = currentHeading.parent;
22 return createHeading(name, targetLevel);
25 Heading missingIntermediate = new Heading(fromOrg("<noname>"), currentHeading.level + 1, currentHeading);
26 currentHeading.addChild(missingIntermediate);
27 currentHeading = missingIntermediate;
28 return createHeading(name, targetLevel);