1 21 22 package org.armedbear.j; 23 24 public final class LineSequence 25 { 26 private Line first; 27 private Line last; 28 private int size; 29 30 public LineSequence() 31 { 32 } 33 34 public LineSequence(Line line) 35 { 36 first = last = line.copy(); 37 size = 1; 38 } 39 40 public LineSequence(Line first, Line last) 42 { 43 Line line = first; 44 while (line != null) { 45 appendLine(line.copy()); 46 if (line == last) 47 break; 48 line = line.next(); 49 } 50 } 51 52 public final Line getFirstLine() 53 { 54 return first; 55 } 56 57 public final Line getLastLine() 58 { 59 return last; 60 } 61 62 public final int size() 63 { 64 return size; 65 } 66 67 public void appendLine(Line line) 69 { 70 line.setPrevious(last); 71 if (last != null) 72 last.setNext(line); 73 last = line; 74 if (first == null) 75 first = line; 76 ++size; 77 } 78 79 public String toString() 80 { 81 FastStringBuffer sb = new FastStringBuffer(); 82 for (Line line = first; line != null; line = line.next()) { 83 sb.append(line.getText()); 84 sb.append('\n'); 85 if (line == last) 86 break; 87 } 88 return sb.toString(); 89 } 90 } 91 | Popular Tags |