## org.apache.lucene.store
Class MockIndexOutputWrapper

    java.lang.Object
      org.apache.lucene.store.DataOutput
          org.apache.lucene.store.IndexOutput
              org.apache.lucene.store.MockIndexOutputWrapper

All Implemented Interfaces:
  Closeable

    public class MockIndexOutputWrapper

extends IndexOutput

Used by MockRAMDirectory to create an output stream that will throw an IOException on fake disk full, track max disk space actually used, and maybe throw random IOExceptions.

Constructor Summary
`MockIndexOutputWrapper(MockDirectoryWrapper dir, IndexOutput delegate, String name)` Construct an empty output buffer.

Method Summary
`void` `close()` Closes this stream to further operations.
`void` `copyBytes(DataInput input, long numBytes)` Copy numBytes bytes from input to ourself.
`void` `flush()` Forces any buffered output to be written.
`long` `getFilePointer()` Returns the current position in this file, where the next write will occur.
`long` `length()` The number of bytes in the file.
`void` `seek(long pos)` Sets current position in this file, where the next write will occur.
`void` `setLength(long length)` Set the file length.
`void` `writeByte(byte b)` Writes a single byte.
`void` `writeBytes(byte[] b, int offset, int len)` Writes an array of bytes.

Methods inherited from class org.apache.lucene.store.DataOutput
`writeBytes, writeChars, writeChars, writeInt, writeLong, writeShort, writeString, writeStringStringMap, writeVInt, writeVLong`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### MockIndexOutputWrapper

    public MockIndexOutputWrapper(MockDirectoryWrapper dir,
                                  IndexOutput delegate,
                                  String name)

  Construct an empty output buffer.

Method Detail

### close

    public void close()
               throws IOException

  Description copied from class: `IndexOutput`
  Closes this stream to further operations.

  Specified by:
    `close` in interface `Closeable`
  Specified by:
    `close` in class `IndexOutput`
  Throws:
    `IOException`

### flush

    public void flush()
               throws IOException

  Description copied from class: `IndexOutput`
  Forces any buffered output to be written.

  Specified by:
    `flush` in class `IndexOutput`
  Throws:
    `IOException`

### writeByte

    public void writeByte(byte b)
                   throws IOException

  Description copied from class: `DataOutput`
  Writes a single byte.

  Specified by:
    `writeByte` in class `DataOutput`
  Throws:
    `IOException`
  See Also:
    `DataInput.readByte()`

### writeBytes

    public void writeBytes(byte[] b,
                           int offset,
                           int len)
                    throws IOException

  Description copied from class: `DataOutput`
  Writes an array of bytes.

  Specified by:
    `writeBytes` in class `DataOutput`
  Parameters:
    `b` - the bytes to write
    `offset` - the offset in the byte array
    `len` - the number of bytes to write
  Throws:
    `IOException`
  See Also:
    `DataInput.readBytes(byte[],int,int)`

### getFilePointer

    public long getFilePointer()

  Description copied from class: `IndexOutput`
  Returns the current position in this file, where the next write will occur.

  Specified by:
    `getFilePointer` in class `IndexOutput`
  See Also:
    `IndexOutput.seek(long)`

### seek

    public void seek(long pos)
              throws IOException

  Description copied from class: `IndexOutput`
  Sets current position in this file, where the next write will occur.

  Specified by:
    `seek` in class `IndexOutput`
  Throws:
    `IOException`
  See Also:
    `IndexOutput.getFilePointer()`

### length

    public long length()
                throws IOException

  Description copied from class: `IndexOutput`
  The number of bytes in the file.

  Specified by:
    `length` in class `IndexOutput`
  Throws:
    `IOException`

### setLength

    public void setLength(long length)
                   throws IOException

  Description copied from class: `IndexOutput`
  Set the file length. By default, this method does nothing (it's optional for a Directory to implement it). But, certain Directory implementations (for example @see FSDirectory) can use this to inform the underlying IO system to pre-allocate the file to the specified size. If the length is longer than the current file length, the bytes added to the file are undefined. Otherwise the file is truncated.

  Overrides:
    `setLength` in class `IndexOutput`
  Parameters:
    `length` - file length
  Throws:
    `IOException`

### copyBytes

    public void copyBytes(DataInput input,
                          long numBytes)
                   throws IOException

  Description copied from class: `DataOutput`
  Copy numBytes bytes from input to ourself.

  Overrides:
    `copyBytes` in class `DataOutput`
  Throws:
    `IOException`