--- /dev/null
+package//\r
+// This software is now distributed according to\r
+// the Lesser Gnu Public License. Please see\r
+// http://www.gnu.org/copyleft/lesser.txt for\r
+// the details.\r
+// -- Happy Computing!\r
+//\r
+com.stevesoft.pat.wrap;\r
+\r
+import com.stevesoft.pat.*;\r
+\r
+/** Allows the outcome of a replaceAll() or replaceFirst()\r
+ to be an array of characters rather than a String.\r
+ */\r
+public class CharArrayBufferWrap\r
+ implements BasicStringBufferLike\r
+ {\r
+ StringBuffer sb = new StringBuffer();\r
+ public void append(char c) {\r
+ sb.append(c);\r
+ }\r
+ public void append(String s) {\r
+ sb.append(s);\r
+ }\r
+ public StringLike toStringLike() {\r
+ char[] ca = new char[sb.length()];\r
+ for(int i=0;i<ca.length;i++)\r
+ ca[i] = sb.charAt(i);\r
+ return new CharArrayWrap(ca);\r
+ }\r
+ public int length() { return sb.length(); }\r
+ public String toString() {\r
+ return sb.toString();\r
+ }\r
+ public Object unwrap() {\r
+ return sb;\r
+ }\r
+}\r