view src/org/nwoca/ssdt/tools/html2wiki/TagTransformer.java @ 0:f8b1ea49d065

Initial version of crude HTML to WikiText converter. Customized for converting HTML files from DEC Document into Wiki markup.
author smith@nwoca.org
date Fri, 12 May 2006 16:45:42 -0400
parents
children 22ed6d93442c
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) {
        tagPattern = 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;
    }

}