Mercurial > public > html2wiki
comparison 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 |
comparison
equal
deleted
inserted
replaced
3:4417b025157e | 4:22ed6d93442c |
---|---|
1 package org.nwoca.ssdt.tools.html2wiki; | 1 package org.nwoca.ssdt.tools.html2wiki; |
2 | 2 |
3 import java.util.regex.*; | 3 import java.util.regex.*; |
4 | 4 |
5 class TagTransformer implements Transformer { | 5 class TagTransformer implements Transformer { |
6 | |
6 private Pattern tagPattern; | 7 private Pattern tagPattern; |
7 private String replacementBegin; | 8 private String replacementBegin; |
8 private String replacementEnd; | 9 private String replacementEnd; |
9 | 10 |
10 public TagTransformer(String regexp, String replacementBegin, String replacementEnd) { | 11 public TagTransformer(String regexp, String replacementBegin, String replacementEnd) { |
11 tagPattern = Pattern.compile(regexp); | 12 this(regexp, false, replacementBegin, replacementEnd); |
13 } | |
14 | |
15 public TagTransformer(String regexp, boolean multiline, String replacementBegin, String replacementEnd) { | |
16 tagPattern = multiline | |
17 ? Pattern.compile(regexp, Pattern.MULTILINE + Pattern.DOTALL) | |
18 : Pattern.compile(regexp); | |
19 | |
12 this.replacementBegin = replacementBegin; | 20 this.replacementBegin = replacementBegin; |
13 this.replacementEnd = replacementEnd; | 21 this.replacementEnd = replacementEnd; |
14 | 22 |
15 } | 23 } |
24 | |
16 public TagTransformer(String regexp, String replacement) { | 25 public TagTransformer(String regexp, String replacement) { |
17 this(regexp,replacement,replacement); | 26 this(regexp, replacement, replacement); |
18 } | 27 } |
19 | 28 |
20 public void apply(StringBuffer buffer) { | 29 public void apply(StringBuffer buffer) { |
21 Matcher matcher = tagPattern.matcher(buffer); | 30 Matcher matcher = tagPattern.matcher(buffer); |
22 | 31 |
23 boolean first = true; | 32 boolean first = true; |
24 while (matcher.find(first ? 0 : matcher.start())) { | 33 while (matcher.find(first ? 0 : matcher.start())) { |
25 buffer.replace(matcher.start(),matcher.end(),replacementBegin + matcher.group(1) + replacementEnd); | 34 buffer.replace(matcher.start(), matcher.end(), replacementBegin + matcher.group(1) + replacementEnd); |
26 first = false; | 35 first = false; |
27 } | 36 } |
28 | 37 |
29 } | |
30 | |
31 public String toString() { | |
32 return "Replace: " + tagPattern.pattern() + " with " +replacementBegin + "..." + replacementEnd; | |
33 } | 38 } |
34 | 39 |
40 public String toString() { | |
41 return "Replace: " + tagPattern.pattern() + " with " + replacementBegin + "..." + replacementEnd; | |
42 } | |
35 } | 43 } |