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 existingIndexInput
implementation or to add additional sanity checks for tests. However, if you plan to write your ownIndexInput
implementation, you should consider extending directlyIndexInput
orDataInput
rather than try to reuse functionality of existingIndexInput
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 IndexInput
in
-
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 void
close()
Closes the stream to further operations.IndexInput
getDelegate()
Gets the delegate that was passed in on creationlong
getFilePointer()
Returns the current position in this file, where the next read will occur.long
length()
The number of bytes in the file.byte
readByte()
Reads and returns a single byte.void
readBytes(byte[] b, int offset, int len)
Reads a specified number of bytes into an array at the specified offset.void
seek(long pos)
Sets current position in this file, where the next read will occur.IndexInput
slice(String sliceDescription, long offset, long length)
Creates a slice of this index input, with the given description, offset, and length.static IndexInput
unwrap(IndexInput in)
Unwraps all FilterIndexInputs until the first non-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
-
getDelegate
public IndexInput getDelegate()
Gets the delegate that was passed in on creation
-
close
public void close() throws IOException
Description copied from class:IndexInput
Closes the stream to further operations.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in classIndexInput
- Throws:
IOException
-
getFilePointer
public long getFilePointer()
Description copied from class:IndexInput
Returns the current position in this file, where the next read will occur.- Specified by:
getFilePointer
in classIndexInput
- See Also:
IndexInput.seek(long)
-
seek
public void seek(long pos) throws IOException
Description copied from class:IndexInput
Sets current position in this file, where the next read will occur. If this is beyond the end of the file then this will throwEOFException
and then the stream is in an undetermined state.- Specified by:
seek
in classIndexInput
- Throws:
IOException
- See Also:
IndexInput.getFilePointer()
-
length
public long length()
Description copied from class:IndexInput
The number of bytes in the file.- Specified by:
length
in classIndexInput
-
slice
public IndexInput slice(String sliceDescription, long offset, long length) throws IOException
Description copied from class:IndexInput
Creates a slice of this index input, with the given description, offset, and length. The slice is sought to the beginning.- Specified by:
slice
in classIndexInput
- Throws:
IOException
-
readByte
public byte readByte() throws IOException
Description copied from class:DataInput
Reads and returns a single byte.- Specified by:
readByte
in classDataInput
- Throws:
IOException
- See Also:
DataOutput.writeByte(byte)
-
readBytes
public void readBytes(byte[] b, int offset, int len) throws IOException
Description copied from class:DataInput
Reads a specified number of bytes into an array at the specified offset.- Specified by:
readBytes
in 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)
-
-