Created document heading.
[sixth.git] / src / main / java / eu / svjatoslav / sixth / core / document / Document.java
index 2c3d2f6..362265c 100644 (file)
@@ -1,4 +1,24 @@
 package eu.svjatoslav.sixth.core.document;
 
 public class Document {
+    public final Heading rootHeading = new Heading("<root>", 0, null);
+
+    private Heading currentHeading = rootHeading;
+
+    public Heading createHeading(String name, int targetLevel){
+        if (currentHeading.level == (targetLevel - 1)){
+            Heading newHeading = new Heading(name, targetLevel, currentHeading);
+            currentHeading = newHeading;
+            return newHeading;
+        }
+
+        if (currentHeading.level > (targetLevel - 1)){
+            currentHeading = currentHeading.parent;
+            return createHeading(name, targetLevel);
+        }
+
+        Heading missingIntermediate = new Heading("<noname>", currentHeading.level + 1, currentHeading);
+        currentHeading = missingIntermediate;
+        return createHeading(name, targetLevel);
+    }
 }