Mercurial > public > html2wiki
diff 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 diff
--- a/src/org/nwoca/ssdt/tools/html2wiki/TagTransformer.java Tue Jan 25 17:08:12 2011 -0500 +++ b/src/org/nwoca/ssdt/tools/html2wiki/TagTransformer.java Tue Jan 25 21:59:31 2011 -0500 @@ -3,33 +3,41 @@ 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) { - tagPattern = Pattern.compile(regexp); + 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); + 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); + buffer.replace(matcher.start(), matcher.end(), replacementBegin + matcher.group(1) + replacementEnd); first = false; } - - } - - public String toString() { - return "Replace: " + tagPattern.pattern() + " with " +replacementBegin + "..." + replacementEnd; + } -} \ No newline at end of file + public String toString() { + return "Replace: " + tagPattern.pattern() + " with " + replacementBegin + "..." + replacementEnd; + } +}