Class RowValue
- Since:
- 3.0
- Author:
- Mark Rotteveel
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptiondeepCopy()Copies thisRowValueand the values it contains.static RowValuedefaultFor(RowDescriptor rowDescriptor) Convenience method for creating a default, uninitialized, row value for aRowDescriptor.intgetCount()byte[]getFieldData(int index) Get the data of the field withindex.booleanisInitialized(int index) Is the field withindexinitialized.static RowValueof(byte[]... rowData) Convenience method for populating a row value from byte arrays.static RowValueof(RowDescriptor rowDescriptor, byte[]... rowData) Convenience method for populating a row value from a RowDescriptor and byte arrays.voidreset()Resets the state of this row value to uninitialized.voidsetFieldData(int index, byte[] data) Sets the data of the field withindex.
-
Field Details
-
EMPTY_ROW_VALUE
-
-
Method Details
-
getCount
public int getCount()- Returns:
- The number of fields.
-
setFieldData
public void setFieldData(int index, byte[] data) Sets the data of the field withindex.- Parameters:
index- Index of the fielddata- byte array with data for field, ornull- Throws:
IndexOutOfBoundsException- if index is not0 <= index > getCount()
-
getFieldData
public byte[] getFieldData(int index) Get the data of the field withindex.For uninitialized fields, returns
null. To distinguish between uninitialized or initialized withnull, useisInitialized(int).- Parameters:
index- Index of the field- Returns:
- byte array with data for field, or
null - Throws:
IndexOutOfBoundsException- if index is not0 <= index > getCount()
-
reset
public void reset()Resets the state of this row value to uninitialized. -
isInitialized
public boolean isInitialized(int index) Is the field withindexinitialized.- Parameters:
index- Index of the field- Returns:
trueif the field is initialized- Throws:
IndexOutOfBoundsException- if index is not0 <= index > getCount()
-
defaultFor
Convenience method for creating a default, uninitialized, row value for aRowDescriptor.- Parameters:
rowDescriptor- The row descriptor- Returns:
RowValueobject
-
of
Convenience method for populating a row value from a RowDescriptor and byte arrays.Note this method, and the similar
RowValueBuilderare mainly intended for use inFBDatabaseMetaData.Compared to
of(byte[][]), this method has the advantage that it checks if the number of byte arrays is consistent with the row descriptor.- Parameters:
rowDescriptor- The row descriptorrowData- An array of byte arrays with the field data.- Returns:
- new
RowValueobject - Throws:
IllegalArgumentException- If therowDatabyte array count does not match field count of the row descriptor- See Also:
-
of
Convenience method for populating a row value from byte arrays.This method is mainly intended for use with direct manipulation in the low-level gds-ng API.
- Parameters:
rowData- An array of byte arrays with the field data.- Returns:
- new
RowValueobject - See Also:
-
deepCopy
Copies thisRowValueand the values it contains.As the field values are mutable, it is important to consider whether you need to be able to see modifications to the field data, or if you need fields with the same original data. If the former, pass the original, if the latter use this method to obtain a copy.
- Returns:
- Copy of this object with cloned field values, for empty rows (count is 0)
EMPTY_ROW_VALUE.
-