public String run(final String input) { final StringBuilder builder = new StringBuilder(); MarkdownLineState state = START; for (final String line : input.split("(?:\n\r?|\r)", INCLUDE_EMPTY_STRINGS)) { for (final MarkdownLineTransition transition : this.transitions) { if (transition.getFrom() == state && transition.getPattern().matcher(line).matches()) { builder.append(transition.getPostfix()); builder.append(transition.getPrefix()); builder.append(MarkdownSpanConverter .convertLineContent(transition.getConversion().apply(line))); state = transition.getTo(); break; } } } closeLastLineState(builder, state); return builder.toString(); }
public String run(final String input) { final StringBuilder builder = new StringBuilder(); MarkdownLineState state = START; for (final String line : input.split("(?:\n\r?|\r)", INCLUDE_EMPTY_STRINGS)) { for (final MarkdownLineTransition transition : this.transitions) { if (transition.getFrom() == state && transition.getPattern().matcher(line).matches()) { builder.append(transition.getPostfix()); builder.append(transition.getPrefix()); builder.append(MarkdownSpanConverter .convertLineContent(transition.getConversion().apply(line))); state = transition.getTo(); break; } } } closeLastLineState(builder, state); return builder.toString(); }