X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=unused%2Fjavajs%2Futil%2FArrayDataReader.java;fp=unused%2Fjavajs%2Futil%2FArrayDataReader.java;h=737a6abcb7c41c1f338b7727cba8bfdb9bad37a5;hb=e95c5f895775891d55d9f23d5da64f8ce6bd07bb;hp=0000000000000000000000000000000000000000;hpb=74f21ca6ca8fa17d53708e457d191e15904f8310;p=jalview.git diff --git a/unused/javajs/util/ArrayDataReader.java b/unused/javajs/util/ArrayDataReader.java new file mode 100644 index 0000000..737a6ab --- /dev/null +++ b/unused/javajs/util/ArrayDataReader.java @@ -0,0 +1,57 @@ +package javajs.util; + +import java.io.IOException; + + + + + + +/** + * + * ArrayDataReader subclasses BufferedReader and overrides its + * read, readLine, mark, and reset methods so that JmolAdapter + * works with String[] arrays without any further adaptation. + * + */ + +public class ArrayDataReader extends DataReader { + private String[] data; + private int pt; + private int len; + + public ArrayDataReader() { + super(); + } + + @Override + public DataReader setData(Object data) { + this.data = (String[]) data; + len = this.data.length; + return this; + } + + @Override + public int read(char[] buf, int off, int len) throws IOException { + return readBuf(buf, off, len); + } + + @Override + public String readLine() { + return (pt < len ? data[pt++] : null); + } + + /** + * + * @param ptr + */ + public void mark(long ptr) { + //ignore ptr. + ptMark = pt; + } + + @Override + public void reset() { + pt = ptMark; + } +} \ No newline at end of file