Package org.firebirdsql.gds.ng.fields
Class RowValueBuilder
- java.lang.Object
-
- org.firebirdsql.gds.ng.fields.RowValueBuilder
-
public class RowValueBuilder extends java.lang.Object
Builder forRowValue
instances.This class allows for sparse population of column values (ie:
null
values can be skipped). It is intended for use in tests and classes likeFBDatabaseMetaData
.The main advantage over
RowValue.of(RowDescriptor, byte[][])
is that it is clearer to which field the value is assigned, and it allows for sparse population (ie: skippingnull
values).- Author:
- Mark Rotteveel
- See Also:
RowValue.of(RowDescriptor, byte[][])
-
-
Constructor Summary
Constructors Constructor Description RowValueBuilder(RowDescriptor rowDescriptor)
Creates instance of RowValueBuilder.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RowValueBuilder
at(int index)
Convenience shortcut forsetFieldIndex(int)
.byte[]
get(int index)
Retrieves the field data set at the specified index.int
getSize()
RowValueBuilder
reset()
Resets this builder to a new RowValue.RowValueBuilder
set(byte[] fieldData)
Sets the field data of the current field.RowValueBuilder
setFieldIndex(int index)
Sets the index of the current field to populate.RowValue
toRowValue(boolean initialize)
Returns the populatedRowValue
and resets the RowValueBuilder.
-
-
-
Constructor Detail
-
RowValueBuilder
public RowValueBuilder(RowDescriptor rowDescriptor)
Creates instance of RowValueBuilder.- Parameters:
rowDescriptor
- The RowDescriptor for the row(s) to be created
-
-
Method Detail
-
setFieldIndex
public RowValueBuilder setFieldIndex(int index)
Sets the index of the current field to populate.- Parameters:
index
- Index of the field- Returns:
- this builder
- Throws:
java.lang.IndexOutOfBoundsException
- Whenindex
is not between 0 (inclusive) andgetSize()
(exclusive)
-
at
public RowValueBuilder at(int index)
Convenience shortcut forsetFieldIndex(int)
.- Parameters:
index
- Index- Returns:
- this builder
- See Also:
setFieldIndex(int)
-
set
public RowValueBuilder set(byte[] fieldData)
Sets the field data of the current field.- Parameters:
fieldData
- Data- Returns:
- this builder
-
get
public byte[] get(int index)
Retrieves the field data set at the specified index.- Parameters:
index
- Index- Returns:
- The field data
- Throws:
java.lang.IndexOutOfBoundsException
- When @{code index} is not between 0 (inclusive) andgetSize()
(exclusive)
-
reset
public RowValueBuilder reset()
Resets this builder to a new RowValue. All previous values set are cleared.- Returns:
- this builder.
-
getSize
public int getSize()
- Returns:
- Number of fields in the row
-
toRowValue
public RowValue toRowValue(boolean initialize)
Returns the populatedRowValue
and resets the RowValueBuilder.- Parameters:
initialize
-true
set field data to null for all uninitialized fields,false
leaves fields uninitialized. In most cases you want to usetrue
.- Returns:
- The row value object
- See Also:
reset()
-
-