//
// This software is now distributed according to
// the Lesser Gnu Public License. Please see
// http://www.gnu.org/copyleft/lesser.txt for
// the details.
// -- Happy Computing!
//
package com.stevesoft.ewe_pat;
/** This method implements the pattern elements $1, $2, etc in
a substitution rule. The apply(StringBufferLike sb,RegRes rr) method of this ReplaceRule
simply appends the contents of rr.stringMatched(n), where n is
the integer supplied to the constructor. */
public class BackRefRule extends ReplaceRule {
int n;
public BackRefRule(int n) { this.n = n; }
public void apply(StringBufferLike sb,RegRes res) {
String x = res.stringMatched(n);
sb.append(x == null ? "" : x);
}
public String toString1() { return "$"+n; }
public Object clone1() { return new BackRefRule(n); }
}