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 is used internally by RegexReader to store blocks of data. 12 */ 13 class RBuffer 14 { 15 boolean done = false; 16 17 StringBuffer sb; 18 19 int pos, epos; 20 21 RBuffer next; 22 RBuffer()23 RBuffer() 24 { 25 } 26 RBuffer(StringBuffer sb)27 RBuffer(StringBuffer sb) 28 { 29 this.sb = sb; 30 } 31 toString()32 public String toString() 33 { 34 return "sb=" + sb.toString().replace('\n', ' ') + " pos=" + pos 35 + " epos=" + epos + " sb.length()=" + sb.length() + "\n" 36 + sp(pos + 3) + "^" + sp(epos - pos - 1) + "^"; 37 } 38 sp(int n)39 String sp(int n) 40 { 41 if (n <= 0) 42 { 43 return ""; 44 } 45 StringBuffer sb = new StringBuffer(n); 46 for (int i = 0; i < n; i++) 47 { 48 sb.append(' '); 49 } 50 return sb.toString(); 51 } 52 } 53