Class BaseNCodecInputStream<C extends BaseNCodec, T extends BaseNCodecInputStream<C,T,B>, B extends BaseNCodecInputStream.AbstracBuilder<T,C,B>>

java.lang.Object
java.io.InputStream
java.io.FilterInputStream
org.apache.commons.codec.binary.BaseNCodecInputStream<C,T,B>
Type Parameters:
C - A BaseNCodec subclass.
T - A BaseNCodecInputStream subclass.
B - A subclass.
All Implemented Interfaces:
Closeable, AutoCloseable
Direct Known Subclasses:
Base16InputStream, Base32InputStream, Base45InputStream, Base58InputStream, Base64InputStream

public class BaseNCodecInputStream<C extends BaseNCodec, T extends BaseNCodecInputStream<C,T,B>, B extends BaseNCodecInputStream.AbstracBuilder<T,C,B>> extends FilterInputStream
Abstracts Base-N input streams.
Since:
1.5
See Also:
  • Constructor Details

  • Method Details

    • available

      public int available() throws IOException
      Overrides:
      available in class FilterInputStream
      Returns:
      0 if the InputStream has reached EOF, 1 otherwise.
      Throws:
      IOException - Thrown if an I/O error occurs.
      Since:
      1.7
    • isStrictDecoding

      public boolean isStrictDecoding()
      Tests whether decoding behavior is strict.

      Strict decoding rejects invalid trailing bits and, for Base32 and Base64, noncanonical input. Decoding errors are reported as IOException. To complete validation, consume this stream to EOF. Decoded bytes can be emitted before a later validation error.

      Returns:
      true if using strict decoding.
      Since:
      1.15
    • mark

      public void mark(int readLimit)
      Marks the current position in this input stream.

      The mark(int) method of BaseNCodecInputStream does nothing.

      Overrides:
      mark in class FilterInputStream
      Parameters:
      readLimit - The maximum limit of bytes that can be read before the mark position becomes invalid.
      Since:
      1.7
      See Also:
    • markSupported

      public boolean markSupported()
      Overrides:
      markSupported in class FilterInputStream
      Returns:
      Always returns false.
    • read

      public int read() throws IOException
      Reads one byte from this input stream.
      Overrides:
      read in class FilterInputStream
      Returns:
      The byte as an integer in the range 0 to 255. Returns -1 if EOF has been reached.
      Throws:
      IOException - Thrown if an I/O error occurs.
    • read

      public int read(byte[] array, int offset, int len) throws IOException
      Attempts to read len bytes into the specified b array starting at offset from this InputStream.
      Overrides:
      read in class FilterInputStream
      Parameters:
      array - destination byte array.
      offset - where to start writing the bytes.
      len - maximum number of bytes to read.
      Returns:
      number of bytes read.
      Throws:
      IOException - Thrown if an I/O error occurs.
      NullPointerException - Thrown if the byte array parameter is null.
      IndexOutOfBoundsException - Thrown if the offset, length, or buffer size is invalid.
    • reset

      public void reset() throws IOException
      Always throws IOException because this stream does not support resetting.
      Overrides:
      reset in class FilterInputStream
      Throws:
      IOException - Thrown if this method is invoked.
      Since:
      1.7
    • skip

      public long skip(long n) throws IOException
      Overrides:
      skip in class FilterInputStream
      Throws:
      IllegalArgumentException - Thrown if the provided skip length is negative.
      IOException - Thrown if an I/O error occurs.
      Since:
      1.7