+++ /dev/null
-package eu.svjatoslav.sixth.core.document;
-
-import eu.svjatoslav.sixth.core.document.text.FormattedText;
-
-import static eu.svjatoslav.sixth.core.document.text.FormattedText.fromOrg;
-
-public class Document {
- public final Heading rootHeading = new Heading( fromOrg("<root>") , 0, null);
-
- private Heading currentHeading = rootHeading;
-
- public Heading createHeading(FormattedText name, int targetLevel){
- if (currentHeading.level == (targetLevel - 1)){
- Heading newHeading = new Heading(name, targetLevel, currentHeading);
- currentHeading.addChild(newHeading);
- currentHeading = newHeading;
- return newHeading;
- }
-
- if (currentHeading.level > (targetLevel - 1)){
- currentHeading = currentHeading.parent;
- return createHeading(name, targetLevel);
- }
-
- Heading missingIntermediate = new Heading(fromOrg("<noname>"), currentHeading.level + 1, currentHeading);
- currentHeading.addChild(missingIntermediate);
- currentHeading = missingIntermediate;
- return createHeading(name, targetLevel);
- }
-}