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
6 // -- Happy Computing!
\r
10 import com.stevesoft.pat.*;
\r
12 /** A tool that is used to make the \E, \U, \L, and \Q
\r
13 elements of a substitution. */
\r
14 public class StringBufferLike implements BasicStringBufferLike {
\r
15 BasicStringBufferLike sbl;
\r
16 public StringBufferLike(BasicStringBufferLike sbl) {
\r
19 char mode = 'E', altMode = ' ';
\r
20 public StringLike toStringLike() {
\r
21 return sbl.toStringLike();
\r
23 public String toString() {
\r
24 return sbl.toString();
\r
26 public void append(char c) {
\r
33 sbl.append(CaseMgr.toUpperCase(c));
\r
39 sbl.append(CaseMgr.toLowerCase(c));
\r
42 if((c >= 'a' && c <= 'z')
\r
43 || (c >= 'A' && c <= 'Z')
\r
44 || (c >= '0' && c <= '9'))
\r
53 public void append(String s) {
\r
54 for(int i=0;i<s.length();i++)
\r
55 append(s.charAt(i));
\r
57 public void setMode(char c) {
\r
58 if(c == 'u' || c == 'l')
\r
59 if(altMode == ' ') altMode = mode;
\r
62 public Object unwrap() {
\r
63 return sbl.unwrap();
\r