1 // 2 // This software is now distributed according to 3 // the Lesser Gnu Public License. Please see 4 // http://www.gnu.org/copyleft/lesser.txt for 5 // the details. 6 // -- Happy Computing! 7 // 8 package com.stevesoft.pat; 9 10 /** 11 * This class implements user defined special replacement rules of the form 12 * ${=name}. See <a 13 * href="http://javaregex.com/code/trans2.java.html">trans2.java</a> and <a 14 * href="http://javaregex.com/code/trans2a.java.html">trans2a.java</a>. 15 */ 16 public class ChangeRule extends SpecialRule 17 { 18 Regex NewRule; 19 ChangeRule(ChangeRule c)20 public ChangeRule(ChangeRule c) 21 { 22 NewRule = c.NewRule; 23 } 24 ChangeRule(String nm, Regex rr)25 public ChangeRule(String nm, Regex rr) 26 { 27 name = nm; 28 NewRule = rr; 29 } 30 ChangeRule(String nm, Transformer tr)31 public ChangeRule(String nm, Transformer tr) 32 { 33 name = nm; 34 NewRule = tr.rp; 35 } 36 clone1()37 public Object clone1() 38 { 39 return new ChangeRule(this); 40 } 41 toString1()42 public String toString1() 43 { 44 return "${=" + name + "}"; 45 } 46 apply(StringBufferLike sb, RegRes rr)47 public void apply(StringBufferLike sb, RegRes rr) 48 { 49 } 50 } 51