Package org.apache.lucene.store
Class FilterIndexInput
- java.lang.Object
-
- org.apache.lucene.store.DataInput
-
- org.apache.lucene.store.IndexInput
-
- org.apache.lucene.store.FilterIndexInput
-
- All Implemented Interfaces:
Closeable,AutoCloseable,Cloneable
public class FilterIndexInput extends IndexInput
IndexInput implementation that delegates calls to another directory. This class can be used to add limitations on top of an existingIndexInputimplementation or to add additional sanity checks for tests. However, if you plan to write your ownIndexInputimplementation, you should consider extending directlyIndexInputorDataInputrather than try to reuse functionality of existingIndexInputs 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 IndexInputin
-
Constructor Summary
Constructors Constructor Description FilterIndexInput(String resourceDescription, IndexInput in)Creates a FilterIndexInput with a resource description and wrapped delegate IndexInput
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Closes the stream to further operations.IndexInputgetDelegate()Gets the delegate that was passed in on creationlonggetFilePointer()Returns the current position in this file, where the next read will occur.longlength()The number of bytes in the file.bytereadByte()Reads and returns a single byte.voidreadBytes(byte[] b, int offset, int len)Reads a specified number of bytes into an array at the specified offset.voidseek(long pos)Sets current position in this file, where the next read will occur.IndexInputslice(String sliceDescription, long offset, long length)Creates a slice of this index input, with the given description, offset, and length.static IndexInputunwrap(IndexInput in)Unwraps all FilterIndexInputs until the first non-FilterIndexInput IndexInput instance and returns itstatic IndexInputunwrapOnlyTest(IndexInput in)Unwraps all test FilterIndexInputs until the first non-test FilterIndexInput IndexInput instance and returns it-
Methods inherited from class org.apache.lucene.store.IndexInput
clone, getFullSliceDescription, randomAccessSlice, skipBytes, toString
-
Methods inherited from class org.apache.lucene.store.DataInput
readBytes, readFloats, readGroupVInt, readGroupVInts, readInt, readInts, readLong, readLongs, readMapOfStrings, readSetOfStrings, readShort, readString, readVInt, readVLong, readZInt, readZLong
-
-
-
-
Field Detail
-
in
protected final IndexInput in
-
-
Constructor Detail
-
FilterIndexInput
public FilterIndexInput(String resourceDescription, IndexInput in)
Creates a FilterIndexInput with a resource description and wrapped delegate IndexInput
-
-
Method Detail
-
unwrap
public static IndexInput unwrap(IndexInput in)
Unwraps all FilterIndexInputs until the first non-FilterIndexInput IndexInput instance and returns it
-
unwrapOnlyTest
public static IndexInput unwrapOnlyTest(IndexInput in)
Unwraps all test FilterIndexInputs until the first non-test FilterIndexInput IndexInput instance and returns it
-
getDelegate
public IndexInput getDelegate()
Gets the delegate that was passed in on creation
-
close
public void close() throws IOExceptionDescription copied from class:IndexInputCloses the stream to further operations.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein classIndexInput- Throws:
IOException
-
getFilePointer
public long getFilePointer()
Description copied from class:IndexInputReturns the current position in this file, where the next read will occur.- Specified by:
getFilePointerin classIndexInput- See Also:
IndexInput.seek(long)
-
seek
public void seek(long pos) throws IOExceptionDescription copied from class:IndexInputSets current position in this file, where the next read will occur. If this is beyond the end of the file then this will throwEOFExceptionand then the stream is in an undetermined state.- Specified by:
seekin classIndexInput- Throws:
IOException- See Also:
IndexInput.getFilePointer()
-
length
public long length()
Description copied from class:IndexInputThe number of bytes in the file.- Specified by:
lengthin classIndexInput
-
slice
public IndexInput slice(String sliceDescription, long offset, long length) throws IOException
Description copied from class:IndexInputCreates a slice of this index input, with the given description, offset, and length. The slice is sought to the beginning.- Specified by:
slicein classIndexInput- Throws:
IOException
-
readByte
public byte readByte() throws IOExceptionDescription copied from class:DataInputReads and returns a single byte.- Specified by:
readBytein classDataInput- Throws:
IOException- See Also:
DataOutput.writeByte(byte)
-
readBytes
public void readBytes(byte[] b, int offset, int len) throws IOExceptionDescription copied from class:DataInputReads a specified number of bytes into an array at the specified offset.- Specified by:
readBytesin classDataInput- Parameters:
b- the array to read bytes intooffset- the offset in the array to start storing byteslen- the number of bytes to read- Throws:
IOException- See Also:
DataOutput.writeBytes(byte[],int)
-
-