X-Git-Url: http://git.megacz.com/?p=org.ibex.io.git;a=blobdiff_plain;f=src%2Forg%2Fibex%2Fio%2FFountain.java;h=8e2561c7938bc4b2c497cb48eaf0234b1796a939;hp=ddf66e400662f345e555199c5c24c011214f3c6d;hb=0e435c7d172d35149811787061b13e89fb912922;hpb=89aca86c811980ebc3e2e3fb2965cb15518b9836 diff --git a/src/org/ibex/io/Fountain.java b/src/org/ibex/io/Fountain.java index ddf66e4..8e2561c 100644 --- a/src/org/ibex/io/Fountain.java +++ b/src/org/ibex/io/Fountain.java @@ -31,6 +31,16 @@ public interface Fountain { private final byte[] bytes; private final int off; private final int len; + protected ByteArray(String s) { + try { + byte[] bytes = s.getBytes("UTF-8"); + this.bytes = bytes; + this.off = 0; + this.len = bytes.length; + } catch (UnsupportedEncodingException e) { + throw new RuntimeException(e); + } + } public ByteArray(byte[] bytes) { this(bytes, 0, bytes.length); } public ByteArray(byte[] bytes, int off, int len) { this.bytes = bytes; this.off=off; this.len=len; } public Stream getStream() { return new Stream(bytes, off, len); } @@ -38,12 +48,9 @@ public interface Fountain { public int getNumLines() { return Stream.countLines(getStream()); } } - public static class StringFountain implements Fountain { - String s; - public StringFountain(String s) { this.s = s; } - public Stream getStream() { return new Stream(s); } - public int getLength() { return s.length(); } // FIXME ENCODING ISSUES!!!!! - public int getNumLines() { return Stream.countLines(getStream()); } + + public static class StringFountain extends ByteArray { + public StringFountain(String s) { super(s); } } public static class Concatenate implements Fountain {