Package 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
,AutoCloseable
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
Constructors Constructor Description MockIndexOutputWrapper(MockDirectoryWrapper dir, IndexOutput delegate, String name)
Construct an empty output buffer.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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
-
-
-
-
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 interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in classIndexOutput
- Throws:
IOException
-
flush
public void flush() throws IOException
Description copied from class:IndexOutput
Forces any buffered output to be written.- Specified by:
flush
in classIndexOutput
- Throws:
IOException
-
writeByte
public void writeByte(byte b) throws IOException
Description copied from class:DataOutput
Writes a single byte.- Specified by:
writeByte
in classDataOutput
- 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 classDataOutput
- Parameters:
b
- the bytes to writeoffset
- the offset in the byte arraylen
- 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 classIndexOutput
- 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 classIndexOutput
- 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 classIndexOutput
- 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 classIndexOutput
- 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 classDataOutput
- Throws:
IOException
-
-