KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > gnu > jemacs > swing > MarkerReader


1 package gnu.jemacs.swing;
2 import gnu.jemacs.buffer.*;
3 import gnu.mapping.*;
4 import java.io.*;
5 import gnu.lists.CharBuffer;
6
7 public class MarkerReader extends InPort
8 {
9   Marker marker;
10   CharBuffer content;
11
12   public MarkerReader(Buffer buffer)
13   {
14     this(buffer, buffer.pointMarker);
15   }
16
17   public MarkerReader(Marker marker)
18   {
19     this(marker.getBuffer(), marker);
20   }
21
22   MarkerReader(Buffer buffer, Marker marker)
23   {
24     super(gnu.text.NullReader.nullReader, buffer.getName());
25     this.marker = marker;
26     content = ((gnu.jemacs.swing.SwingBuffer) buffer).content.buffer;
27     this.buffer = content.getArray();
28   }
29
30   public int read()
31   {
32     int offset = marker.getOffset();
33     buffer = content.getArray();
34     if (offset >= content.gapStart)
35       offset += content.gapEnd - content.gapStart;
36     int length = buffer.length;
37     pos = offset;
38     if (offset >= length)
39       {
40     limit = offset;
41     return -1;
42       }
43     else
44       {
45     int ch = buffer[pos];
46     pos++;
47     limit = pos;
48     return ch;
49       }
50   }
51
52   public int getLineNumber ()
53   {
54     throw new Error JavaDoc("MarkerReader. getLineNumber - not implemented");
55   }
56
57   public int getColumnNumber ()
58   {
59     throw new Error JavaDoc("MarkerReader,getColumnNumber - not implemented");
60   }
61
62   public void reset () throws IOException
63   {
64     throw new Error JavaDoc("MarkerReader.reset - not implemented");
65   }
66
67 }
68
69
Popular Tags