8488ba3710a97f432a41fe3513f47273341e1dbc
[jalview.git] / src / com / stevesoft / pat / BackRefRule.java
1 //\r
2 // This software is now distributed according to\r
3 // the Lesser Gnu Public License.  Please see\r
4 // http://www.gnu.org/copyleft/lesser.txt for\r
5 // the details.\r
6 //    -- Happy Computing!\r
7 //\r
8 package com.stevesoft.pat;\r
9 \r
10 /** This method implements the pattern elements $1, $2, etc in\r
11     a substitution rule. The apply(StringBufferLike sb,RegRes rr) method of this ReplaceRule\r
12     simply appends the contents of rr.stringMatched(n), where n is\r
13     the integer supplied to the constructor. */\r
14 public class BackRefRule\r
15     extends ReplaceRule\r
16 {\r
17   int n;\r
18   public BackRefRule(int n)\r
19   {\r
20     this.n = n;\r
21   }\r
22 \r
23   public void apply(StringBufferLike sb, RegRes res)\r
24   {\r
25     String x = res.stringMatched(n);\r
26     sb.append(x == null ? "" : x);\r
27   }\r
28 \r
29   public String toString1()\r
30   {\r
31     return "$" + n;\r
32   }\r
33 \r
34   public Object clone1()\r
35   {\r
36     return new BackRefRule(n);\r
37   }\r
38 }\r