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 voidclose()Closes this stream to further operations.voidcopyBytes(DataInput input, long numBytes)Copy numBytes bytes from input to ourself.voidflush()Forces any buffered output to be written.longgetFilePointer()Returns the current position in this file, where the next write will occur.longlength()The number of bytes in the file.voidseek(long pos)Sets current position in this file, where the next write will occur.voidsetLength(long length)Set the file length.voidwriteByte(byte b)Writes a single byte.voidwriteBytes(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 IOExceptionDescription copied from class:IndexOutputCloses this stream to further operations.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein classIndexOutput- Throws:
IOException
-
flush
public void flush() throws IOExceptionDescription copied from class:IndexOutputForces any buffered output to be written.- Specified by:
flushin classIndexOutput- Throws:
IOException
-
writeByte
public void writeByte(byte b) throws IOExceptionDescription copied from class:DataOutputWrites a single byte.- Specified by:
writeBytein classDataOutput- Throws:
IOException- See Also:
DataInput.readByte()
-
writeBytes
public void writeBytes(byte[] b, int offset, int len) throws IOExceptionDescription copied from class:DataOutputWrites an array of bytes.- Specified by:
writeBytesin 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:IndexOutputReturns the current position in this file, where the next write will occur.- Specified by:
getFilePointerin classIndexOutput- See Also:
IndexOutput.seek(long)
-
seek
public void seek(long pos) throws IOExceptionDescription copied from class:IndexOutputSets current position in this file, where the next write will occur.- Specified by:
seekin classIndexOutput- Throws:
IOException- See Also:
IndexOutput.getFilePointer()
-
length
public long length() throws IOExceptionDescription copied from class:IndexOutputThe number of bytes in the file.- Specified by:
lengthin classIndexOutput- Throws:
IOException
-
setLength
public void setLength(long length) throws IOExceptionDescription copied from class:IndexOutputSet 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:
setLengthin classIndexOutput- Parameters:
length- file length- Throws:
IOException
-
copyBytes
public void copyBytes(DataInput input, long numBytes) throws IOException
Description copied from class:DataOutputCopy numBytes bytes from input to ourself.- Overrides:
copyBytesin classDataOutput- Throws:
IOException
-
-