Class ClobAsciiStream

  • All Implemented Interfaces:
    java.io.Closeable, java.io.Flushable, java.lang.AutoCloseable

    final class ClobAsciiStream
    extends java.io.OutputStream
    Wrap a Writer as an OutputStream to support Clob.setAsciiStream(). Any value written to the OutputStream is a valid ASCII value (0-255 from JDBC 4 spec appendix C2) thus this class simply passes the written values onto the Writer.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private char[] buffer  
      private java.io.Writer writer  
    • Constructor Summary

      Constructors 
      Constructor Description
      ClobAsciiStream​(java.io.Writer writer)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void write​(byte[] b, 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

        close, flush, nullOutputStream, write
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • writer

        private final java.io.Writer writer
      • buffer

        private final char[] buffer
    • Constructor Detail

      • ClobAsciiStream

        ClobAsciiStream​(java.io.Writer writer)
    • Method Detail

      • write

        public void write​(int b)
                   throws java.io.IOException
        Writes the specified byte to this output stream.

        The general contract for write is that one byte is written to the output stream. The byte to be written is the eight low-order bits of the argument b. The 24 high-order bits of b are ignored.

        Specified by:
        write in class java.io.OutputStream
        Parameters:
        b - the byte.
        Throws:
        java.io.IOException - if an I/O error occurs. In particular, an IOException may be thrown if the output stream has been closed.
      • write

        public void write​(byte[] b,
                          int off,
                          int len)
                   throws java.io.IOException
        Writes len bytes from the specified byte array starting at offset off to this output stream.

        The general contract for write(b, off, len) is that some of the bytes in the array b are written to the output stream in order; element b[off] is the first byte written and b[off+len-1] is the last byte written by this operation.

        The write method of OutputStream calls the write method of one argument on each of the bytes to be written out. Subclasses are encouraged to override this method and provide a more efficient implementation.

        If b is null, a NullPointerException is thrown.

        If off is negative, or len is negative, or off+len is greater than the length of the array b, then an IndexOutOfBoundsException is thrown.

        Overrides:
        write in class java.io.OutputStream
        Parameters:
        b - the data.
        off - the start offset in the data.
        len - the number of bytes to write.
        Throws:
        java.io.IOException - if an I/O error occurs. In particular, an IOException is thrown if the output stream is closed.