362265cae8fa50986145eacbe73c76352c1c924e
[sixth.git] / src / main / java / eu / svjatoslav / sixth / core / document / Document.java
1 package eu.svjatoslav.sixth.core.document;
2
3 public class Document {
4     public final Heading rootHeading = new Heading("<root>", 0, null);
5
6     private Heading currentHeading = rootHeading;
7
8     public Heading createHeading(String name, int targetLevel){
9         if (currentHeading.level == (targetLevel - 1)){
10             Heading newHeading = new Heading(name, targetLevel, currentHeading);
11             currentHeading = newHeading;
12             return newHeading;
13         }
14
15         if (currentHeading.level > (targetLevel - 1)){
16             currentHeading = currentHeading.parent;
17             return createHeading(name, targetLevel);
18         }
19
20         Heading missingIntermediate = new Heading("<noname>", currentHeading.level + 1, currentHeading);
21         currentHeading = missingIntermediate;
22         return createHeading(name, targetLevel);
23     }
24 }