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