Package org.terrier.structures
Class FilePosition
- java.lang.Object
-
- org.terrier.structures.FilePosition
-
- All Implemented Interfaces:
BitFilePosition
public class FilePosition extends java.lang.Object implements BitFilePosition
Models a position within a file as the offset in bytes and the offset in bits in that byte. For example, an instance of the class FilePosition that points to the 10th bit of a file should be constructed with a byte offset of 1 and a bit offset of 2.- Author:
- Craig Macdonald, Vassilis Plachouras & John Kane
-
-
Field Summary
Fields Modifier and Type Field Description byte
Bits
The offset in bits within the pointed byte.long
Bytes
The offset within a file in bytes.protected static int
sizeInBytes
The number of bytes a file position could be converted to - 8 for the byte's long, 1 for the bits
-
Constructor Summary
Constructors Constructor Description FilePosition()
Default constructor.FilePosition(byte[] in)
Create an instance based on a byte bufferFilePosition(long bytesPosition, byte bitsPosition)
Creates an instance of the class from the given byte and bit offsets.FilePosition(BitFilePosition in)
Create a new FilePosition based on an existing one
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
build(java.io.DataInput di)
unseralize this object from the named dataoutput instanceboolean
equals(java.lang.Object o)
Is this FilePosition equal to another?long
getOffset()
Return the number of bytes offset.byte
getOffsetBits()
Return the number of bits offset.int
hashCode()
Define a hashcode for this - objects which defined equals(Object) should define hashCode() alsovoid
setOffset(long bytes, byte bits)
Set the offset in number of bytes and number of bits.void
setOffset(BitFilePosition pos)
Sets the bit file position within this object to that represented by the specified bit file position.static int
sizeInBytes()
How large is this object when serializedvoid
toBytes(java.io.DataOutput dai)
Seralize this object to the named dataoutput instancejava.lang.String
toString()
String representation of this object
-
-
-
Field Detail
-
sizeInBytes
protected static final int sizeInBytes
The number of bytes a file position could be converted to - 8 for the byte's long, 1 for the bits- See Also:
- Constant Field Values
-
Bytes
public long Bytes
The offset within a file in bytes.
-
Bits
public byte Bits
The offset in bits within the pointed byte.
-
-
Constructor Detail
-
FilePosition
public FilePosition()
Default constructor. Create an uninitialiased FilePosition
-
FilePosition
public FilePosition(long bytesPosition, byte bitsPosition)
Creates an instance of the class from the given byte and bit offsets.- Parameters:
bytesPosition
- long the given byte offset.bitsPosition
- byte the given bit offset.
-
FilePosition
public FilePosition(byte[] in)
Create an instance based on a byte buffer
-
FilePosition
public FilePosition(BitFilePosition in)
Create a new FilePosition based on an existing one
-
-
Method Detail
-
getOffset
public long getOffset()
Return the number of bytes offset.- Specified by:
getOffset
in interfaceBitFilePosition
- Returns:
- the number of bytes offset.
-
getOffsetBits
public byte getOffsetBits()
Return the number of bits offset.- Specified by:
getOffsetBits
in interfaceBitFilePosition
- Returns:
- the number of bits offset.
-
setOffset
public void setOffset(long bytes, byte bits)
Set the offset in number of bytes and number of bits.- Specified by:
setOffset
in interfaceBitFilePosition
- Parameters:
bytes
- the number of bytes to set.bits
- the number of bits to set.
-
setOffset
public void setOffset(BitFilePosition pos)
Sets the bit file position within this object to that represented by the specified bit file position.- Specified by:
setOffset
in interfaceBitFilePosition
- Parameters:
pos
- other bit file position to update the bit file position in this object.
-
sizeInBytes
public static int sizeInBytes()
How large is this object when serialized
-
toBytes
public void toBytes(java.io.DataOutput dai)
Seralize this object to the named dataoutput instance
-
build
public void build(java.io.DataInput di)
unseralize this object from the named dataoutput instance
-
equals
public boolean equals(java.lang.Object o)
Is this FilePosition equal to another?- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
Define a hashcode for this - objects which defined equals(Object) should define hashCode() also- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
String representation of this object- Overrides:
toString
in classjava.lang.Object
-
-