Package org.apache.lucene.store
Class FilterIndexOutput
- java.lang.Object
-
- org.apache.lucene.store.DataOutput
-
- org.apache.lucene.store.IndexOutput
-
- org.apache.lucene.store.FilterIndexOutput
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
- Direct Known Subclasses:
RateLimitedIndexOutput
public class FilterIndexOutput extends IndexOutput
IndexOutput implementation that delegates calls to another directory. This class can be used to add limitations on top of an existingIndexOutput
implementation such asByteBuffersIndexOutput
or to add additional sanity checks for tests. However, if you plan to write your ownIndexOutput
implementation, you should consider extending directlyIndexOutput
orDataOutput
rather than try to reuse functionality of existingIndexOutput
s by extending this class.- NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
-
-
Field Summary
Fields Modifier and Type Field Description protected IndexOutput
out
-
Constructor Summary
Constructors Modifier Constructor Description protected
FilterIndexOutput(String resourceDescription, String name, IndexOutput out)
Creates a FilterIndexOutput with a resource description, name, and wrapped delegate IndexOutput
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Closes this stream to further operations.long
getChecksum()
Returns the current checksum of bytes written so farIndexOutput
getDelegate()
Gets the delegate that was passed in on creationlong
getFilePointer()
Returns the current position in this file, where the next write will occur.static IndexOutput
unwrap(IndexOutput out)
Unwraps all FilterIndexOutputs until the first non-FilterIndexOutput IndexOutput instance and returns itvoid
writeByte(byte b)
Writes a single byte.void
writeBytes(byte[] b, int offset, int length)
Writes an array of bytes.-
Methods inherited from class org.apache.lucene.store.IndexOutput
alignFilePointer, alignOffset, getName, toString
-
Methods inherited from class org.apache.lucene.store.DataOutput
copyBytes, writeBytes, writeGroupVInts, writeInt, writeLong, writeMapOfStrings, writeSetOfStrings, writeShort, writeString, writeVInt, writeVLong, writeZInt, writeZLong
-
-
-
-
Field Detail
-
out
protected final IndexOutput out
-
-
Constructor Detail
-
FilterIndexOutput
protected FilterIndexOutput(String resourceDescription, String name, IndexOutput out)
Creates a FilterIndexOutput with a resource description, name, and wrapped delegate IndexOutput
-
-
Method Detail
-
unwrap
public static IndexOutput unwrap(IndexOutput out)
Unwraps all FilterIndexOutputs until the first non-FilterIndexOutput IndexOutput instance and returns it
-
getDelegate
public final IndexOutput getDelegate()
Gets the delegate that was passed in on creation
-
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
-
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
-
getChecksum
public long getChecksum() throws IOException
Description copied from class:IndexOutput
Returns the current checksum of bytes written so far- Specified by:
getChecksum
in classIndexOutput
- Throws:
IOException
-
writeByte
public void writeByte(byte b) throws IOException
Description copied from class:DataOutput
Writes a single byte.The most primitive data type is an eight-bit byte. Files are accessed as sequences of bytes. All other data types are defined as sequences of bytes, so file formats are byte-order independent.
- Specified by:
writeByte
in classDataOutput
- Throws:
IOException
- See Also:
DataInput.readByte()
-
writeBytes
public void writeBytes(byte[] b, int offset, int length) 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 arraylength
- the number of bytes to write- Throws:
IOException
- See Also:
DataInput.readBytes(byte[],int,int)
-
-