Class SaslOutputStream

java.lang.Object
java.io.OutputStream
org.apache.hadoop.security.SaslOutputStream
All Implemented Interfaces:
Closeable, Flushable, AutoCloseable

@LimitedPrivate({"HDFS","MapReduce"}) @Evolving public class SaslOutputStream extends OutputStream
A SaslOutputStream is composed of an OutputStream and a SaslServer (or SaslClient) so that write() methods first process the data before writing them out to the underlying OutputStream. The SaslServer (or SaslClient) object must be fully initialized before being used by a SaslOutputStream.
  • Constructor Summary

    Constructors
    Constructor
    Description
    SaslOutputStream(OutputStream outStream, SaslClient saslClient)
    Constructs a SASLOutputStream from an OutputStream and a SaslClient
    Note: if the specified OutputStream or SaslClient is null, a NullPointerException may be thrown later when they are used.
    SaslOutputStream(OutputStream outStream, SaslServer saslServer)
    Constructs a SASLOutputStream from an OutputStream and a SaslServer
    Note: if the specified OutputStream or SaslServer is null, a NullPointerException may be thrown later when they are used.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Closes this output stream and releases any system resources associated with this stream.
    void
    Flushes this output stream
    void
    write(byte[] b)
    Writes b.length bytes from the specified byte array to this output stream.
    void
    write(byte[] inBuf, int off, int len)
    Writes len bytes from the specified byte array starting at offset off to this output stream.
    void
    write(int b)
    Writes the specified byte to this output stream.

    Methods inherited from class java.io.OutputStream

    nullOutputStream

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • SaslOutputStream

      public SaslOutputStream(OutputStream outStream, SaslServer saslServer)
      Constructs a SASLOutputStream from an OutputStream and a SaslServer
      Note: if the specified OutputStream or SaslServer is null, a NullPointerException may be thrown later when they are used.
      Parameters:
      outStream - the OutputStream to be processed
      saslServer - an initialized SaslServer object
    • SaslOutputStream

      public SaslOutputStream(OutputStream outStream, SaslClient saslClient)
      Constructs a SASLOutputStream from an OutputStream and a SaslClient
      Note: if the specified OutputStream or SaslClient is null, a NullPointerException may be thrown later when they are used.
      Parameters:
      outStream - the OutputStream to be processed
      saslClient - an initialized SaslClient object
  • Method Details

    • write

      public void write(int b) throws IOException
      Writes the specified byte to this output stream.
      Specified by:
      write in class OutputStream
      Parameters:
      b - the byte.
      Throws:
      IOException - if an I/O error occurs.
    • write

      public void write(byte[] b) throws IOException
      Writes b.length bytes from the specified byte array to this output stream.

      The write method of SASLOutputStream calls the write method of three arguments with the three arguments b, 0, and b.length.

      Overrides:
      write in class OutputStream
      Parameters:
      b - the data.
      Throws:
      NullPointerException - if b is null.
      IOException - if an I/O error occurs.
    • write

      public void write(byte[] inBuf, int off, int len) throws IOException
      Writes len bytes from the specified byte array starting at offset off to this output stream.
      Overrides:
      write in class OutputStream
      Parameters:
      inBuf - the data.
      off - the start offset in the data.
      len - the number of bytes to write.
      Throws:
      IOException - if an I/O error occurs.
    • flush

      public void flush() throws IOException
      Flushes this output stream
      Specified by:
      flush in interface Flushable
      Overrides:
      flush in class OutputStream
      Throws:
      IOException - if an I/O error occurs.
    • close

      public void close() throws IOException
      Closes this output stream and releases any system resources associated with this stream.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Overrides:
      close in class OutputStream
      Throws:
      IOException - if an I/O error occurs.