JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / src / com / stevesoft / pat / RBuffer.java
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
23   RBuffer()
24   {
25   }
26
27   RBuffer(StringBuffer sb)
28   {
29     this.sb = sb;
30   }
31
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
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 }