aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/mammoth/styles/parsing/StyleMapParser.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/zwobble/mammoth/styles/parsing/StyleMapParser.java')
-rw-r--r--src/main/java/org/zwobble/mammoth/styles/parsing/StyleMapParser.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/mammoth/styles/parsing/StyleMapParser.java b/src/main/java/org/zwobble/mammoth/styles/parsing/StyleMapParser.java
new file mode 100644
index 0000000..618c00b
--- /dev/null
+++ b/src/main/java/org/zwobble/mammoth/styles/parsing/StyleMapParser.java
@@ -0,0 +1,17 @@
+package org.zwobble.mammoth.styles.parsing;
+
+import org.parboiled.support.Var;
+import org.zwobble.mammoth.styles.StyleMap;
+import org.zwobble.mammoth.styles.StyleMapBuilder;
+
+public class StyleMapParser {
+ public static StyleMap parse(String input) {
+ if (input.isEmpty()) {
+ return StyleMap.EMPTY;
+ } else {
+ Var<StyleMapBuilder> styleMap = new Var<>(StyleMap.builder());
+ Parsing.parse(StyleMappingParser.class, parser -> parser.StyleMapping(styleMap), input);
+ return styleMap.get().build();
+ }
+ }
+}