Package db
Class Record
- java.lang.Object
-
- db.Record
-
- All Implemented Interfaces:
java.lang.Comparable<Record>
public class Record extends java.lang.Object implements java.lang.Comparable<Record>
Recordprovides a portable container for data associated with a fixed schema defined by a list of Fields. A record instance contains both a primary key and zero or more data fields which define the schema. Either a Field object or a long value may be used as the primary key.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompareFieldTo(int columnIndex, Field value)Compare two field values.intcompareTo(Record otherRec)Compares the key associated with this record with the key of another record (obj).Recordcopy()Obtain a copy of this record object.booleanequals(java.lang.Object obj)Compare the content of two Records for equality.booleanfieldEquals(int columnIndex, Field field)Determine if the specified field equals the field associated with the specified columnIndex.byte[]getBinaryData(int colIndex)Get the binary data array for the specified field.booleangetBooleanValue(int colIndex)Get the boolean value for the specified field.bytegetByteValue(int colIndex)Get the byte value for the specified field.intgetColumnCount()Get the number of columns contained within this record.FieldgetFieldValue(int columnIndex)Get a copy of the specified field value.intgetIntValue(int colIndex)Get the integer value for the specified field.longgetKey()Get the record primary key.FieldgetKeyField()Get the record primary key as a Field object.longgetLongValue(int colIndex)Get the long value for the specified field.shortgetShortValue(int colIndex)Get the short value for the specified field.java.lang.StringgetString(int colIndex)Get the string value for the specified field.inthashCode()booleanhasSameSchema(Record otherRec)Determine if this record's schema is the same as another record's schema.booleanhasSameSchema(Schema schema)Determine if this record's schema is compatible with the specified schema.booleanisDirty()Determine if data fields have been modified since the last write occurred.intlength()Get the stored record length.voidread(Buffer buf, int offset)Read the record field data from the specified buffer and offsetvoidsetBinaryData(int colIndex, byte[] bytes)Set the binary data array for the specified field.voidsetBooleanValue(int colIndex, boolean value)Set the boolean value for the specified field.voidsetByteValue(int colIndex, byte value)Set the byte value for the specified field.voidsetField(int colIndex, Field value)Set the field value for the specified field.voidsetIntValue(int colIndex, int value)Set the integer value for the specified field.voidsetKey(long key)Set the primary key associated with this record.voidsetKey(Field key)Set the primary key associated with this record.voidsetLongValue(int colIndex, long value)Set the long value for the specified field.voidsetShortValue(int colIndex, short value)Set the short value for the specified field.voidsetString(int colIndex, java.lang.String str)Set the string value for the specified field.voidwrite(Buffer buf, int offset)Write the record fields to the specified buffer and offset.
-
-
-
Method Detail
-
setKey
public void setKey(long key)
Set the primary key associated with this record.- Parameters:
key- primary key
-
setKey
public void setKey(Field key)
Set the primary key associated with this record.- Parameters:
key- primary key
-
getKey
public long getKey()
Get the record primary key.- Returns:
- primary key as long value.
-
getKeyField
public Field getKeyField()
Get the record primary key as a Field object.- Returns:
- primary key as a field object.
-
hasSameSchema
public boolean hasSameSchema(Record otherRec)
Determine if this record's schema is the same as another record's schema. This check factors column count and column field types only.- Parameters:
otherRec-- Returns:
- true if records schemas are the same
-
hasSameSchema
public boolean hasSameSchema(Schema schema)
Determine if this record's schema is compatible with the specified schema. This check factors column count and column field types only.- Parameters:
schema-- Returns:
- true if records schemas are the same
-
getColumnCount
public int getColumnCount()
Get the number of columns contained within this record.- Returns:
- number of field columns.
-
getFieldValue
public Field getFieldValue(int columnIndex)
Get a copy of the specified field value.- Parameters:
columnIndex-- Returns:
- Field
-
setField
public void setField(int colIndex, Field value)Set the field value for the specified field.- Parameters:
colIndex- field indexvalue- field value
-
fieldEquals
public boolean fieldEquals(int columnIndex, Field field)Determine if the specified field equals the field associated with the specified columnIndex.- Parameters:
columnIndex-field-- Returns:
- true if the fields are equal, else false.
-
compareFieldTo
public int compareFieldTo(int columnIndex, Field value)Compare two field values.- Parameters:
columnIndex- the field index within this recordvalue- another field value to compared- Returns:
- 0 if equals, a negative number if this record's field is less than the specified value, or a positive number if this record's field is greater than the specified value.
-
copy
public Record copy()
Obtain a copy of this record object.- Returns:
- Record
-
length
public int length()
Get the stored record length. This method is used to determine the space required to store the data fields within this record when written to a standard Buffer.- Returns:
- int stored record length
-
getLongValue
public long getLongValue(int colIndex)
Get the long value for the specified field.- Parameters:
colIndex- field index- Returns:
- field value
- Throws:
IllegalFieldAccessException- if field does support long data access
-
setLongValue
public void setLongValue(int colIndex, long value)Set the long value for the specified field.- Parameters:
colIndex- field indexvalue- field value- Throws:
IllegalFieldAccessException- if field does support long data access
-
getIntValue
public int getIntValue(int colIndex)
Get the integer value for the specified field.- Parameters:
colIndex- field index- Returns:
- field value
- Throws:
IllegalFieldAccessException- if field does support integer data access
-
setIntValue
public void setIntValue(int colIndex, int value)Set the integer value for the specified field.- Parameters:
colIndex- field indexvalue- field value- Throws:
IllegalFieldAccessException- if field does support integer data access
-
getShortValue
public short getShortValue(int colIndex)
Get the short value for the specified field.- Parameters:
colIndex- field index- Returns:
- field value
- Throws:
IllegalFieldAccessException- if field does support short data access
-
setShortValue
public void setShortValue(int colIndex, short value)Set the short value for the specified field.- Parameters:
colIndex- field indexvalue- field value- Throws:
IllegalFieldAccessException- if field does support short data access
-
getByteValue
public byte getByteValue(int colIndex)
Get the byte value for the specified field.- Parameters:
colIndex- field index- Returns:
- field value
- Throws:
IllegalFieldAccessException- if field does support byte data access
-
setByteValue
public void setByteValue(int colIndex, byte value)Set the byte value for the specified field.- Parameters:
colIndex- field indexvalue- field value- Throws:
IllegalFieldAccessException- if field does support byte data access
-
getBooleanValue
public boolean getBooleanValue(int colIndex)
Get the boolean value for the specified field.- Parameters:
colIndex- field index- Returns:
- field value
- Throws:
IllegalFieldAccessException- if field does support boolean data access
-
setBooleanValue
public void setBooleanValue(int colIndex, boolean value)Set the boolean value for the specified field.- Parameters:
colIndex- field indexvalue- field value- Throws:
IllegalFieldAccessException- if field does support boolean data access
-
getBinaryData
public byte[] getBinaryData(int colIndex)
Get the binary data array for the specified field.- Parameters:
colIndex- field index- Returns:
- field data
- Throws:
IllegalFieldAccessException- if field does support binary data access
-
setBinaryData
public void setBinaryData(int colIndex, byte[] bytes)Set the binary data array for the specified field.- Parameters:
colIndex- field indexvalue- field value- Throws:
IllegalFieldAccessException- if field does support binary data access
-
getString
public java.lang.String getString(int colIndex)
Get the string value for the specified field.- Parameters:
colIndex- field index- Returns:
- field data
- Throws:
IllegalFieldAccessException- if field does support string data access
-
setString
public void setString(int colIndex, java.lang.String str)Set the string value for the specified field.- Parameters:
colIndex- field indexvalue- field value- Throws:
IllegalFieldAccessException- if field does support string data access
-
write
public void write(Buffer buf, int offset) throws java.io.IOException
Write the record fields to the specified buffer and offset.- Parameters:
buf- data bufferoffset- buffer offset- Throws:
java.io.IOException- thrown if IO error occurs
-
read
public void read(Buffer buf, int offset) throws java.io.IOException
Read the record field data from the specified buffer and offset- Parameters:
buf- data bufferoffset- buffer offset- Throws:
java.io.IOException- thrown if IO error occurs
-
isDirty
public boolean isDirty()
Determine if data fields have been modified since the last write occurred.- Returns:
- true if the field data has not been saved, else false.
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
Compare the content of two Records for equality.- Overrides:
equalsin classjava.lang.Object- See Also:
Object.equals(java.lang.Object)
-
-