Mercurial > public > html2wiki
view src/org/nwoca/ssdt/tools/html2wiki/TagTransformer.java @ 4:22ed6d93442c
Start modifying transformers to Confluence wiki syntax
author | smith@nwoca.org |
---|---|
date | Tue, 25 Jan 2011 21:59:31 -0500 |
parents | f8b1ea49d065 |
children |
line wrap: on
line source
package org.nwoca.ssdt.tools.html2wiki; import java.util.regex.*; class TagTransformer implements Transformer { private Pattern tagPattern; private String replacementBegin; private String replacementEnd; public TagTransformer(String regexp, String replacementBegin, String replacementEnd) { this(regexp, false, replacementBegin, replacementEnd); } public TagTransformer(String regexp, boolean multiline, String replacementBegin, String replacementEnd) { tagPattern = multiline ? Pattern.compile(regexp, Pattern.MULTILINE + Pattern.DOTALL) : Pattern.compile(regexp); this.replacementBegin = replacementBegin; this.replacementEnd = replacementEnd; } public TagTransformer(String regexp, String replacement) { this(regexp, replacement, replacement); } public void apply(StringBuffer buffer) { Matcher matcher = tagPattern.matcher(buffer); boolean first = true; while (matcher.find(first ? 0 : matcher.start())) { buffer.replace(matcher.start(), matcher.end(), replacementBegin + matcher.group(1) + replacementEnd); first = false; } } public String toString() { return "Replace: " + tagPattern.pattern() + " with " + replacementBegin + "..." + replacementEnd; } }