--- /dev/null
+Clazz.declarePackage ("JU");
+Clazz.load (["JU.DataReader"], "JU.ArrayDataReader", null, function () {
+c$ = Clazz.decorateAsClass (function () {
+this.data = null;
+this.pt = 0;
+this.len = 0;
+Clazz.instantialize (this, arguments);
+}, JU, "ArrayDataReader", JU.DataReader);
+Clazz.overrideMethod (c$, "setData",
+function (data) {
+this.data = data;
+this.len = this.data.length;
+return this;
+}, "~O");
+Clazz.overrideMethod (c$, "read",
+function (buf, off, len) {
+return this.readBuf (buf, off, len);
+}, "~A,~N,~N");
+Clazz.overrideMethod (c$, "readLine",
+function () {
+return (this.pt < this.len ? this.data[this.pt++] : null);
+});
+Clazz.defineMethod (c$, "mark",
+function (ptr) {
+this.ptMark = this.pt;
+}, "~N");
+Clazz.overrideMethod (c$, "reset",
+function () {
+this.pt = this.ptMark;
+});
+});