java.lang.Object
java.io.OutputStream
java.io.FilterOutputStream
edu.internet2.middleware.grouperClientExt.org.apache.commons.codec.binary.BaseNCodecOutputStream
All Implemented Interfaces:
Closeable, Flushable, AutoCloseable
Direct Known Subclasses:
Base16OutputStream, Base32OutputStream, Base64OutputStream

public class BaseNCodecOutputStream extends FilterOutputStream
Abstract superclass for Base-N output streams.

To write the EOF marker without closing the stream, call eof() or use an Apache Commons IO CloseShieldOutputStream.

Since:
1.5
  • Constructor Details

    • BaseNCodecOutputStream

      public BaseNCodecOutputStream(OutputStream output, BaseNCodec basedCodec, boolean doEncode)
      TODO should this be protected?
      Parameters:
      output - the underlying output or null.
      basedCodec - a BaseNCodec.
      doEncode - true to encode, false to decode, TODO should be an enum?
  • Method Details

    • close

      public void close() throws IOException
      Closes this output stream and releases any system resources associated with the stream.

      To write the EOF marker without closing the stream, call eof() or use an Apache Commons IO CloseShieldOutputStream.

      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Overrides:
      close in class FilterOutputStream
      Throws:
      IOException - if an I/O error occurs.
    • eof

      public void eof() throws IOException
      Writes EOF.
      Throws:
      IOException - if an I/O error occurs.
      Since:
      1.11
    • flush

      public void flush() throws IOException
      Flushes this output stream and forces any buffered output bytes to be written out to the stream.
      Specified by:
      flush in interface Flushable
      Overrides:
      flush in class FilterOutputStream
      Throws:
      IOException - if an I/O error occurs.
    • isStrictDecoding

      public boolean isStrictDecoding()
      Returns true if decoding behavior is strict. Decoding will raise an IllegalArgumentException if trailing bits are not part of a valid encoding.

      The default is false for lenient encoding. Decoding will compose trailing bits into 8-bit bytes and discard the remainder.

      Returns:
      true if using strict decoding
      Since:
      1.15
    • write

      public void write(byte[] array, int offset, int len) throws IOException
      Writes len bytes from the specified b array starting at offset to this output stream.
      Overrides:
      write in class FilterOutputStream
      Parameters:
      array - source byte array
      offset - where to start reading the bytes
      len - maximum number of bytes to write
      Throws:
      IOException - if an I/O error occurs.
      NullPointerException - if the byte array parameter is null
      IndexOutOfBoundsException - if offset, len or buffer size are invalid
    • write

      public void write(int i) throws IOException
      Writes the specified byte to this output stream.
      Overrides:
      write in class FilterOutputStream
      Parameters:
      i - source byte
      Throws:
      IOException - if an I/O error occurs.