JAL-1807 Bob's JalviewJS prototype first commit
[jalviewjs.git] / src / javajs / util / ListDataReader.java
1 package javajs.util;\r
2 \r
3 import java.io.IOException;\r
4 \r
5 \r
6 \r
7 \r
8 \r
9 /**\r
10  * \r
11  * VectorDataReader subclasses BufferedReader and overrides its\r
12  * read, readLine, mark, and reset methods so that JmolAdapter \r
13  * works with Vector<String> arrays without any further adaptation. \r
14  * \r
15  */\r
16 \r
17 public class ListDataReader extends DataReader {\r
18   private Lst<String> data;\r
19   private int pt;\r
20   private int len;\r
21 \r
22   public ListDataReader() {\r
23     super();\r
24   }\r
25   \r
26   @SuppressWarnings("unchecked")\r
27   @Override\r
28   public DataReader setData(Object data) {\r
29     this.data = (Lst<String>) data;\r
30     len = this.data.size();\r
31     return this;\r
32   }\r
33 \r
34   @Override\r
35   public int read(char[] buf, int off, int len) throws IOException {\r
36     return readBuf(buf, off, len);\r
37   }\r
38 \r
39   @Override\r
40   public String readLine() {\r
41     return (pt < len ? data.get(pt++) : null);\r
42   }\r
43 \r
44   /**\r
45    * \r
46    * @param ptr\r
47    */\r
48   public void mark(long ptr) {\r
49     //ignore ptr.\r
50     ptMark = pt;\r
51   }\r
52 \r
53   @Override\r
54   public void reset() {\r
55     pt = ptMark;\r
56   }\r
57 }