/* * Copyright (C) 2014-2015 たんらる */ package fourthline.mmlTools.parser; import java.util.HashMap; import java.util.function.Consumer; import java.util.regex.Pattern; public final class TextParser { private final String text; private TextParser(String text) { this.text = text; } public static TextParser text(String test) { return new TextParser(test); } private HashMap<String, Consumer<String>> map = new HashMap<>(); public TextParser pattern(String s, Consumer<String> func) { map.put(s, func); return this; } public void parse() { Pattern.compile("\n").splitAsStream(this.text).forEachOrdered((lineText) -> { map.keySet().forEach(key -> { if (lineText.startsWith(key)) { map.get(key).accept( lineText.substring(key.length()) ); return; } }); }); } }