diff --git a/src/main/java/org/cobbzilla/util/io/FixedByteArrayInputStream.java b/src/main/java/org/cobbzilla/util/io/FixedByteArrayInputStream.java new file mode 100644 index 0000000..633468f --- /dev/null +++ b/src/main/java/org/cobbzilla/util/io/FixedByteArrayInputStream.java @@ -0,0 +1,20 @@ +package org.cobbzilla.util.io; + +import lombok.Getter; + +import java.io.ByteArrayInputStream; + +public class FixedByteArrayInputStream extends ByteArrayInputStream implements FixedSizeInputStream { + + @Getter private final int size; + + public FixedByteArrayInputStream(byte[] buf) { + super(buf); + size = buf.length; + } + + public FixedByteArrayInputStream(byte[] buf, int offset, int length) { + super(buf, offset, length); + size = length; + } +} diff --git a/src/main/java/org/cobbzilla/util/io/FixedSizeInputStream.java b/src/main/java/org/cobbzilla/util/io/FixedSizeInputStream.java new file mode 100644 index 0000000..b0d65bf --- /dev/null +++ b/src/main/java/org/cobbzilla/util/io/FixedSizeInputStream.java @@ -0,0 +1,7 @@ +package org.cobbzilla.util.io; + +public interface FixedSizeInputStream { + + long getSize (); + +} diff --git a/src/main/java/org/cobbzilla/util/io/NullInputStream.java b/src/main/java/org/cobbzilla/util/io/NullInputStream.java index bfe5a6f..1557ac1 100644 --- a/src/main/java/org/cobbzilla/util/io/NullInputStream.java +++ b/src/main/java/org/cobbzilla/util/io/NullInputStream.java @@ -2,7 +2,7 @@ package org.cobbzilla.util.io; import java.io.InputStream; -public class NullInputStream extends InputStream { +public class NullInputStream extends InputStream implements FixedSizeInputStream { public static final NullInputStream instance = new NullInputStream(); @@ -10,4 +10,6 @@ public class NullInputStream extends InputStream { @Override public int read(byte[] b) { return -1; } @Override public int read(byte[] b, int off, int len) { return -1; } + @Override public long getSize() { return 0; } + }