org.apache.cassandra.io.util

## Class UnbufferedDataOutputStreamPlus

- java.lang.Object
- - java.io.OutputStream
  - - org.apache.cassandra.io.util.DataOutputStreamPlus
    - - org.apache.cassandra.io.util.UnbufferedDataOutputStreamPlus

- All Implemented Interfaces:
    java.io.Closeable, java.io.DataOutput, java.io.Flushable, java.lang.AutoCloseable, DataOutputPlus
  Direct Known Subclasses:
    EncodedDataOutputStream, WrappedDataOutputStreamPlus

      public abstract class UnbufferedDataOutputStreamPlus
      extends DataOutputStreamPlus

  Base class for DataOutput implementations that does not have an optimized implementations of Plus methods and does no buffering.

  Unlike BufferedDataOutputStreamPlus this is capable of operating as an unbuffered output stream. Currently necessary because SequentialWriter implements its own buffering along with mark/reset/truncate.

- - ### Field Summary

    - ### Fields inherited from class org.apache.cassandra.io.util.DataOutputStreamPlus

      `channel`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `UnbufferedDataOutputStreamPlus()`
    `protected` | `UnbufferedDataOutputStreamPlus(java.nio.channels.WritableByteChannel channel)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `<R> R` | `applyToChannel(com.google.common.base.Function<java.nio.channels.WritableByteChannel,R> f)` Safe way to operate against the underlying channel.
    `void` | `write(byte[] buffer)` Writes the entire contents of the byte array `buffer` to this RandomAccessFile starting at the current file pointer.
    `abstract void` | `write(byte[] buffer, int offset, int count)` Writes `count` bytes from the byte array `buffer` starting at `offset` to this RandomAccessFile starting at the current file pointer..
    `void` | `write(java.nio.ByteBuffer buf)`
    `abstract void` | `write(int oneByte)` Writes the specified byte `oneByte` to this RandomAccessFile starting at the current file pointer.
    `void` | `write(Memory memory, long offset, long length)`
    `void` | `writeBoolean(boolean val)` Writes a boolean to this output stream.
    `void` | `writeByte(int val)` Writes a 8-bit byte to this output stream.
    `void` | `writeBytes(java.lang.String str)` Writes the low order 8-bit bytes from a String to this output stream.
    `void` | `writeChar(int val)` Writes the specified 16-bit character to the OutputStream.
    `void` | `writeChars(java.lang.String str)` Writes the specified 16-bit characters contained in str to the OutputStream.
    `void` | `writeDouble(double val)` Writes a 64-bit double to this output stream.
    `void` | `writeFloat(float val)` Writes a 32-bit float to this output stream.
    `void` | `writeInt(int val)` Writes a 32-bit int to this output stream.
    `void` | `writeLong(long val)` Writes a 64-bit long to this output stream.
    `void` | `writeShort(int val)` Writes the specified 16-bit short to the OutputStream.
    `void` | `writeUTF(java.lang.String str)` Writes the specified String out in UTF format.
    `static void` | `writeUTF(java.lang.String str, java.io.DataOutput out)` Writes the specified String out in UTF format to the provided DataOutput

    - ### Methods inherited from class org.apache.cassandra.io.util.DataOutputStreamPlus

      `newDefaultChannel, retrieveTemporaryBuffer`

    - ### Methods inherited from class java.io.OutputStream

      `close, flush`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### UnbufferedDataOutputStreamPlus

          protected UnbufferedDataOutputStreamPlus()

    - #### UnbufferedDataOutputStreamPlus

          protected UnbufferedDataOutputStreamPlus(java.nio.channels.WritableByteChannel channel)

  - ### Method Detail

    - #### write

          public void write(byte[] buffer)
                     throws java.io.IOException

      Writes the entire contents of the byte array `buffer` to this RandomAccessFile starting at the current file pointer.
      Specified by:
        `write` in interface `java.io.DataOutput`
      Overrides:
        `write` in class `java.io.OutputStream`
      Parameters:
        `buffer` - the buffer to be written.
      Throws:
        `java.io.IOException` - If an error occurs trying to write to this RandomAccessFile.

    - #### write

          public abstract void write(byte[] buffer,
                                     int offset,
                                     int count)
                              throws java.io.IOException

      Writes `count` bytes from the byte array `buffer` starting at `offset` to this RandomAccessFile starting at the current file pointer..
      Specified by:
        `write` in interface `java.io.DataOutput`
      Overrides:
        `write` in class `java.io.OutputStream`
      Parameters:
        `buffer` - the bytes to be written
        `offset` - offset in buffer to get bytes
        `count` - number of bytes in buffer to write
      Throws:
        `java.io.IOException` - If an error occurs attempting to write to this RandomAccessFile.
        `java.lang.IndexOutOfBoundsException` - If offset or count are outside of bounds.

    - #### write

          public abstract void write(int oneByte)
                              throws java.io.IOException

      Writes the specified byte `oneByte` to this RandomAccessFile starting at the current file pointer. Only the low order byte of `oneByte` is written.
      Specified by:
        `write` in interface `java.io.DataOutput`
      Specified by:
        `write` in class `java.io.OutputStream`
      Parameters:
        `oneByte` - the byte to be written
      Throws:
        `java.io.IOException` - If an error occurs attempting to write to this RandomAccessFile.

    - #### writeBoolean

          public final void writeBoolean(boolean val)
                                  throws java.io.IOException

      Writes a boolean to this output stream.
      Parameters:
        `val` - the boolean value to write to the OutputStream
      Throws:
        `java.io.IOException` - If an error occurs attempting to write to this DataOutputStream.

    - #### writeByte

          public final void writeByte(int val)
                               throws java.io.IOException

      Writes a 8-bit byte to this output stream.
      Parameters:
        `val` - the byte value to write to the OutputStream
      Throws:
        `java.io.IOException` - If an error occurs attempting to write to this DataOutputStream.

    - #### writeBytes

          public final void writeBytes(java.lang.String str)
                                throws java.io.IOException

      Writes the low order 8-bit bytes from a String to this output stream.
      Parameters:
        `str` - the String containing the bytes to write to the OutputStream
      Throws:
        `java.io.IOException` - If an error occurs attempting to write to this DataOutputStream.

    - #### writeChar

          public final void writeChar(int val)
                               throws java.io.IOException

      Writes the specified 16-bit character to the OutputStream. Only the lower 2 bytes are written with the higher of the 2 bytes written first. This represents the Unicode value of val.
      Parameters:
        `val` - the character to be written
      Throws:
        `java.io.IOException` - If an error occurs attempting to write to this DataOutputStream.

    - #### writeChars

          public final void writeChars(java.lang.String str)
                                throws java.io.IOException

      Writes the specified 16-bit characters contained in str to the OutputStream. Only the lower 2 bytes of each character are written with the higher of the 2 bytes written first. This represents the Unicode value of each character in str.
      Parameters:
        `str` - the String whose characters are to be written.
      Throws:
        `java.io.IOException` - If an error occurs attempting to write to this DataOutputStream.

    - #### writeDouble

          public final void writeDouble(double val)
                                 throws java.io.IOException

      Writes a 64-bit double to this output stream. The resulting output is the 8 bytes resulting from calling Double.doubleToLongBits().
      Parameters:
        `val` - the double to be written.
      Throws:
        `java.io.IOException` - If an error occurs attempting to write to this DataOutputStream.

    - #### writeFloat

          public final void writeFloat(float val)
                                throws java.io.IOException

      Writes a 32-bit float to this output stream. The resulting output is the 4 bytes resulting from calling Float.floatToIntBits().
      Parameters:
        `val` - the float to be written.
      Throws:
        `java.io.IOException` - If an error occurs attempting to write to this DataOutputStream.

    - #### writeInt

          public void writeInt(int val)
                        throws java.io.IOException

      Writes a 32-bit int to this output stream. The resulting output is the 4 bytes, highest order first, of val.
      Parameters:
        `val` - the int to be written.
      Throws:
        `java.io.IOException` - If an error occurs attempting to write to this DataOutputStream.

    - #### writeLong

          public void writeLong(long val)
                         throws java.io.IOException

      Writes a 64-bit long to this output stream. The resulting output is the 8 bytes, highest order first, of val.
      Parameters:
        `val` - the long to be written.
      Throws:
        `java.io.IOException` - If an error occurs attempting to write to this DataOutputStream.

    - #### writeShort

          public void writeShort(int val)
                          throws java.io.IOException

      Writes the specified 16-bit short to the OutputStream. Only the lower 2 bytes are written with the higher of the 2 bytes written first.
      Parameters:
        `val` - the short to be written
      Throws:
        `java.io.IOException` - If an error occurs attempting to write to this DataOutputStream.

    - #### writeUTF

          public static void writeUTF(java.lang.String str,
                                      java.io.DataOutput out)
                               throws java.io.IOException

      Writes the specified String out in UTF format to the provided DataOutput
      Parameters:
        `str` - the String to be written in UTF format.
        `out` - the DataOutput to write the UTF encoded string to
      Throws:
        `java.io.IOException` - If an error occurs attempting to write to this DataOutputStream.

    - #### writeUTF

          public final void writeUTF(java.lang.String str)
                              throws java.io.IOException

      Writes the specified String out in UTF format.
      Parameters:
        `str` - the String to be written in UTF format.
      Throws:
        `java.io.IOException` - If an error occurs attempting to write to this DataOutputStream.

    - #### write

          public void write(java.nio.ByteBuffer buf)
                     throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### write

          public void write(Memory memory,
                            long offset,
                            long length)
                     throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### applyToChannel

          public <R> R applyToChannel(com.google.common.base.Function<java.nio.channels.WritableByteChannel,R> f)
                               throws java.io.IOException

      Description copied from interface: `DataOutputPlus`
      Safe way to operate against the underlying channel. Impossible to stash a reference to the channel and forget to flush
      Throws:
        `java.io.IOException`

Copyright © 2018 The Apache Software Foundation