public abstract class Record extends BaseRecord implements PropertiesDescriptor
activeOffset, data, id, PK_GETTER, readFields, references, state| Modifier | Constructor and Description |
|---|---|
protected |
Record()
Default constructor needed by DMOs extending this class.
|
| Modifier and Type | Method and Description |
|---|---|
blob |
_getBlob(int offset)
Get an
blob value for the datum at the given offset in the property array. |
protected blob[] |
_getBlob(int extent,
int offset)
Bulk getter for a
blob extent field. |
character |
_getCharacter(int offset)
Get a
character value for the datum at the given offset in the property array. |
protected character[] |
_getCharacter(int extent,
int offset)
Bulk getter for a
character extent field. |
clob |
_getClob(int offset)
Get an
clob value for the datum at the given offset in the property array. |
protected clob[] |
_getClob(int extent,
int offset)
Bulk getter for a
clob extent field. |
comhandle |
_getComhandle(int offset)
Get an
comhandle value for the datum at the given offset in the property array. |
protected comhandle[] |
_getComhandle(int extent,
int offset)
Bulk getter for a
comhandle extent field. |
date |
_getDate(int offset)
Get an
date value for the datum at the given offset in the property array. |
protected date[] |
_getDate(int extent,
int offset)
Bulk getter for a
date extent field. |
datetime |
_getDatetime(int offset)
Get an
datetime value for the datum at the given offset in the property array. |
protected datetime[] |
_getDatetime(int extent,
int offset)
Bulk getter for a
datetime extent field. |
datetimetz |
_getDatetimetz(int offset)
Get an
datetimetz value for the datum at the given offset in the property array. |
protected datetimetz[] |
_getDatetimetz(int extent,
int offset)
Bulk getter for a
datetimetz extent field. |
decimal |
_getDecimal(int offset)
Get a
decimal value for the datum at the given offset in the property array. |
protected decimal[] |
_getDecimal(int extent,
int offset)
Bulk getter for a
integer extent field. |
handle |
_getHandle(int offset)
Get a
handle value for the datum at the given offset in the property array. |
protected handle[] |
_getHandle(int extent,
int offset)
Bulk getter for a
handle extent field. |
int64 |
_getInt64(int offset)
Get an
int64 value for the datum at the given offset in the property array. |
protected int64[] |
_getInt64(int extent,
int offset)
Bulk getter for a
int64 extent field. |
integer |
_getInteger(int offset)
Get an
integer value for the datum at the given offset in the property array. |
protected integer[] |
_getInteger(int extent,
int offset)
Bulk getter for a
integer extent field. |
object<?> |
_getObject(int offset)
Get an
object value for the datum at the given offset in the property array. |
protected object<?>[] |
_getObject(int extent,
int offset)
Bulk getter for a
object extent field. |
raw |
_getRaw(int offset)
Get an
raw value for the datum at the given offset in the property array. |
protected raw[] |
_getRaw(int extent,
int offset)
Bulk getter for a
raw extent field. |
recid |
_getRecid(int offset)
Get a
recid value for the datum at the given offset in the property array. |
protected recid[] |
_getRecid(int extent,
int offset)
Bulk getter for a
recid extent field. |
(package private) RecordMeta |
_getRecordMeta()
Package private access to the subclass' record metadata for low level operations on this
record.
|
rowid |
_getRowid(int offset)
Get a
rowid value for the datum at the given offset in the property array. |
protected rowid[] |
_getRowid(int extent,
int offset)
Bulk getter for a
rowid extent field. |
logical |
_isLogical(int offset)
Get an
integer value for the datum at the given offset in the property array. |
protected logical[] |
_isLogical(int extent,
int offset)
Bulk getter for a
logical extent field. |
protected void |
_setBlob(blob[] val,
int extent,
int offset)
Bulk setter for a
blob extent field. |
protected void |
_setBlob(blob val,
int extent,
int offset)
Mass setter for a
blob extent field. |
protected void |
_setBlob(int offset,
blob w)
Set an
blob value into the data at the given offset in the property array. |
protected void |
_setCharacter(int offset,
Text w)
Set a
character value into the data at the given offset in the property array. |
protected void |
_setCharacter(Text[] val,
int extent,
int offset)
Bulk setter for a
Text extent field. |
protected void |
_setCharacter(Text val,
int extent,
int offset)
Mass setter for a
Text extent field. |
protected void |
_setClob(clob[] val,
int extent,
int offset)
Bulk setter for a
clob extent field. |
protected void |
_setClob(clob val,
int extent,
int offset)
Mass setter for a
clob extent field. |
protected void |
_setClob(int offset,
clob w)
Set an
clob value into the data at the given offset in the property array. |
protected void |
_setComhandle(comhandle[] val,
int extent,
int offset)
Bulk setter for a
comhandle extent field. |
protected void |
_setComhandle(comhandle val,
int extent,
int offset)
Mass setter for a
comhandle extent field. |
protected void |
_setComhandle(int offset,
comhandle w)
Set an
comhandle value into the data at the given offset in the property array. |
protected void |
_setDate(date[] val,
int extent,
int offset)
Bulk setter for a
date extent field. |
protected void |
_setDate(date val,
int extent,
int offset)
Mass setter for a
date extent field. |
protected void |
_setDate(int offset,
date d)
Set an
date value into the data at the given offset in the property array. |
protected void |
_setDatetime(date[] val,
int extent,
int offset)
Bulk setter for a
datetime extent field. |
protected void |
_setDatetime(date val,
int extent,
int offset)
Mass setter for a
datetime extent field. |
protected void |
_setDatetime(int offset,
date w)
Set an
datetime value into the data at the given offset in the property array. |
protected void |
_setDatetimetz(date[] val,
int extent,
int offset)
Bulk setter for a
datetimetz extent field. |
protected void |
_setDatetimetz(date val,
int extent,
int offset)
Mass setter for a
datetimetz extent field. |
protected void |
_setDatetimetz(int offset,
date w)
Set an
datetimetz value into the data at the given offset in the property array. |
protected void |
_setDecimal(int offset,
NumberType w)
Set a
decimal value into the data at the given offset in the property array. |
protected void |
_setDecimal(NumberType[] val,
int extent,
int offset)
Bulk setter for a
NumberType extent field. |
protected void |
_setDecimal(NumberType val,
int extent,
int offset)
Mass setter for a
NumberType extent field. |
protected void |
_setHandle(handle[] val,
int extent,
int offset)
Bulk setter for a
handle extent field. |
protected void |
_setHandle(handle val,
int extent,
int offset)
Mass setter for a
handle extent field. |
protected void |
_setHandle(int offset,
handle w)
Set a
handle value into the data at the given offset in the property array. |
protected void |
_setInt64(int offset,
NumberType w)
Set an
integer value into the data at the given offset in the property array. |
protected void |
_setInt64(NumberType[] val,
int extent,
int offset)
Bulk setter for a
NumberType extent field. |
protected void |
_setInt64(NumberType val,
int extent,
int offset)
Mass setter for a
NumberType extent field. |
protected void |
_setInteger(int offset,
NumberType w)
Set an
integer value into the data at the given offset in the property array. |
protected void |
_setInteger(NumberType[] val,
int extent,
int offset)
Bulk setter for a
NumberType extent field. |
protected void |
_setInteger(NumberType val,
int extent,
int offset)
Mass setter for a
NumberType extent field. |
protected void |
_setLogical(int offset,
logical w)
Set an
logical value into the data at the given offset in the property array. |
protected void |
_setLogical(logical[] val,
int extent,
int offset)
Bulk setter for a
logical extent field. |
protected void |
_setLogical(logical val,
int extent,
int offset)
Mass setter for a
logical extent field. |
protected void |
_setObject(int offset,
object<?> w)
Set an
object value into the data at the given offset in the property array. |
protected void |
_setObject(object<?>[] val,
int extent,
int offset)
Bulk setter for a
object extent field. |
protected void |
_setObject(object<?> val,
int extent,
int offset)
Mass setter for a
object extent field. |
protected void |
_setRaw(BinaryData[] val,
int extent,
int offset)
Bulk setter for a
raw extent field. |
protected void |
_setRaw(BinaryData val,
int extent,
int offset)
Mass setter for a
raw extent field. |
protected void |
_setRaw(int offset,
BinaryData w)
Set an
raw value into the data at the given offset in the property array. |
protected void |
_setRecid(int offset,
NumberType w)
Set a
recid value into the data at the given offset in the property array. |
protected void |
_setRecid(NumberType val,
int extent,
int offset)
Mass setter for a
recid extent field. |
protected void |
_setRecid(recid[] val,
int extent,
int offset)
Bulk setter for a
recid extent field. |
protected void |
_setRowid(int offset,
rowid w)
Set a
rowid value into the data at the given offset in the property array. |
protected void |
_setRowid(rowid[] val,
int extent,
int offset)
Bulk setter for a
rowid extent field. |
protected void |
_setRowid(rowid val,
int extent,
int offset)
Mass setter for a
rowid extent field. |
(package private) long |
decrementReferences(boolean transient_)
Decrement the count of references to this object.
|
static DataModelObject |
fromPOJO(java.lang.Object pojo)
Create a new DMO
Record starting from a POJO. |
java.util.Map<java.lang.String,java.lang.Object> |
getPropertyValues()
Get all the properties from this record, in a map using as keys their legacy name.
|
(package private) long |
incrementReferences(boolean transient_)
Increment the count of references to this object.
|
boolean |
isMultiplyReferenced(boolean includeTransient)
Check if the record is referenced by multiple buffers in the same time.
|
protected abstract void |
populateFromPOJO(java.lang.Object pojo)
Populates this object with data from a POJO.
|
void |
setPropertyValues(java.util.Map<java.lang.String,java.lang.Object> properties,
java.util.function.BiFunction<PropertyMeta,java.lang.Object,java.lang.Object> f)
Given a map which contains legacy property names to their values, populate this record by deserializing
the expected value using the given function.
|
Record |
snapshot()
Creates a snapshot copy of the current record.
|
protected static java.sql.Date |
toDmoDate(java.util.GregorianCalendar date)
Helper function to convert form a
GregorianCalendar to a java.sql.Date instance. |
protected static java.sql.Timestamp |
toDmoDatetime(java.util.GregorianCalendar datetime)
Helper function to convert form a
GregorianCalendar to a java.sql.Timestamp instance. |
protected static java.time.OffsetDateTime |
toDmoDatetimetz(java.util.GregorianCalendar datetimetz)
Helper function to convert form a
GregorianCalendar to a java.time.OffsetDateTime
instance. |
abstract java.lang.Object |
toPOJO()
Converts this
Record into a POJO, if POJO class is available. |
protected static java.util.GregorianCalendar |
toPojo(java.sql.Date date)
Helper function to convert form a
java.sql.Date to a GregorianCalendar instance. |
protected static java.util.GregorianCalendar |
toPojo(java.time.OffsetDateTime datetimetz)
Helper function to convert form a
java.time.OffsetDateTime to a GregorianCalendar
instance. |
protected static java.util.GregorianCalendar |
toPojo(java.sql.Timestamp datetime)
Helper function to convert form a
java.sql.Timestamp to a GregorianCalendar instance. |
java.lang.String |
toString2(boolean oneLine)
Utility method used for debugging and logging.
|
protected void |
updateObjectRefCount(object<?> oldVal,
object<?> newVal)
Update the object reference count.
|
_getReadFields, _recordMeta, checkIncomplete, checkState, copy, copy, deepCopy, getActiveUpdateDiffs, getCodePage, getData, getData, getDatum, getDirtyIndices, getDirtyProps, getIndexState, getRecordLockIdentifier, getSize, initialize, initialize, isAnyIndexFullyDirty, isDirty, isIndexed, isInUse, isValid, needsValidation, primaryKey, primaryKey, restoreActiveState, setActiveBuffer, setAllData, setDatum, toString, toString, undoActive, updateStateprotected Record()
public Record snapshot()
Record instance of this record with all fields set to values of the
respective fields in this Record at the moment of the call.public final integer _getInteger(int offset)
integer value for the datum at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset from which to retrieve the value from the property array.integer; will represent unknown value if the datum is
null.protected final void _setInteger(int offset,
NumberType w)
integer value into the data at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset at which to store the given datum in the property array.w - FWD wrapper type for the integral value.protected final integer[] _getInteger(int extent, int offset)
integer extent field. All components are returned as a single
array of integer.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.integer representing the elements of an extent field.protected final void _setInteger(NumberType[] val, int extent, int offset)
NumberType extent field. Each components from val
parameter will initialize their correspondent of the extent field in data array.val - An array of NumberType values to be used for setting the extent field.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.protected final void _setInteger(NumberType val, int extent, int offset)
NumberType extent field. All components of the extent field will
be set to val in data array.val - A NumberType value to be used for setting the extent field components.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.public final datetimetz _getDatetimetz(int offset)
datetimetz value for the datum at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset from which to retrieve the value from the property array.datetimetz; will represent unknown value if the datum is
null.protected final void _setDatetimetz(int offset,
date w)
datetimetz value into the data at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset at which to store the given datum in the property array.w - FWD wrapper type for the integral value.protected final datetimetz[] _getDatetimetz(int extent, int offset)
datetimetz extent field. All components are returned as a single
array of datetimetz.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.datetimetz representing the elements of an extent field.protected final void _setDatetimetz(date[] val, int extent, int offset)
datetimetz extent field. Each components from val
parameter will initialize their correspondent of the extent field in data array.val - An array of date values to be used for setting the extent field.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.protected final void _setDatetimetz(date val, int extent, int offset)
datetimetz extent field. All components of the extent field will
be set to val in data array.val - A date value to be used for setting the extent field components.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.public final datetime _getDatetime(int offset)
datetime value for the datum at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset from which to retrieve the value from the property array.datetime; will represent unknown value if the datum is
null.protected final void _setDatetime(int offset,
date w)
datetime value into the data at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset at which to store the given datum in the property array.w - FWD wrapper type for the integral value.protected final datetime[] _getDatetime(int extent, int offset)
datetime extent field. All components are returned as a single
array of datetime.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.datetime representing the elements of an extent field.protected final void _setDatetime(date[] val, int extent, int offset)
datetime extent field. Each components from val
parameter will initialize their correspondent of the extent field in data array.val - An array of datetime values to be used for setting the extent field.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.protected final void _setDatetime(date val, int extent, int offset)
datetime extent field. All components of the extent field will
be set to val in data array.val - A date value to be used for setting the extent field components.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.public final date _getDate(int offset)
date value for the datum at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset from which to retrieve the value from the property array.date; will represent unknown value if the datum is
null.protected final void _setDate(int offset,
date d)
date value into the data at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset at which to store the given datum in the property array.d - FWD wrapper type for the integral value.protected final date[] _getDate(int extent, int offset)
date extent field. All components are returned as a single
array of date.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.date representing the elements of an extent field.protected final void _setDate(date[] val, int extent, int offset)
date extent field. Each components from val
parameter will initialize their correspondent of the extent field in data array.val - An array of date values to be used for setting the extent field.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.protected final void _setDate(date val, int extent, int offset)
date extent field. All components of the extent field will
be set to val in data array.val - A date value to be used for setting the extent field components.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.public final logical _isLogical(int offset)
integer value for the datum at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset from which to retrieve the value from the property array.integer; will represent unknown value if the datum is
null.protected final void _setLogical(int offset,
logical w)
logical value into the data at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset at which to store the given datum in the property array.w - FWD wrapper type for the logical value.protected final logical[] _isLogical(int extent, int offset)
logical extent field. All components are returned as a single
array of logical.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.logical representing the elements of an extent field.protected final void _setLogical(logical[] val, int extent, int offset)
logical extent field. Each components from val parameter
will initialize their correspondent of the extent field in data array.val - An array of logical values to be used for setting the extent field.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.protected final void _setLogical(logical val, int extent, int offset)
logical extent field. All components of the extent field will be
set to val in data array.val - A logical value to be used for setting the extent field components.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.public final int64 _getInt64(int offset)
int64 value for the datum at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset from which to retrieve the value from the property array.int64; will represent unknown value if the datum is
null.protected final void _setInt64(int offset,
NumberType w)
integer value into the data at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset at which to store the given datum in the property array.w - FWD wrapper type for the integral value.protected final int64[] _getInt64(int extent, int offset)
int64 extent field. All components are returned as a single
array of int64.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.int64 representing the elements of an extent field.protected final void _setInt64(NumberType[] val, int extent, int offset)
NumberType extent field. Each components from val
parameter will initialize their correspondent of the extent field in data array.val - An array of NumberType values to be used for setting the extent field.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.protected final void _setInt64(NumberType val, int extent, int offset)
NumberType extent field. All components of the extent field will
be set to val in data array.val - A NumberType value to be used for setting the extent field components.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.public final decimal _getDecimal(int offset)
decimal value for the datum at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset from which to retrieve the value from the property array.decimal; will represent unknown value if the datum is
null.protected final void _setDecimal(int offset,
NumberType w)
decimal value into the data at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset at which to store the given datum in the property array.w - FWD wrapper type for the decimal value.protected final decimal[] _getDecimal(int extent, int offset)
integer extent field. All components are returned as a single
array of integer.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.integer representing the elements of an extent field.protected final void _setDecimal(NumberType[] val, int extent, int offset)
NumberType extent field. Each components from val
parameter will initialize their correspondent of the extent field in data array.val - An array of NumberType values to be used for setting the extent field.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.protected final void _setDecimal(NumberType val, int extent, int offset)
NumberType extent field. All components of the extent field will
be set to val in data array.val - A NumberType value to be used for setting the extent field components.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.public final character _getCharacter(int offset)
character value for the datum at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset from which to retrieve the value from the property array.character; will represent unknown value if the datum is
null. The value will have the case-sensitivity inherent to the
corresponding field.protected final void _setCharacter(int offset,
Text w)
character value into the data at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset at which to store the given datum in the property array.w - FWD wrapper type for the character value. The case-sensitivity property of this
wrapper instance is not preserved.protected final character[] _getCharacter(int extent, int offset)
character extent field. All components are returned as a single
array of character.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.character representing the elements of an extent field.protected final void _setCharacter(Text[] val, int extent, int offset)
Text extent field. Each components from val
parameter will initialize their correspondent of the extent field in data array.val - An array of Text values to be used for setting the extent field.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.protected final void _setCharacter(Text val, int extent, int offset)
Text extent field. All components of the extent field will
be set to val in data array.val - A Text value to be used for setting the extent field components.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.public final rowid _getRowid(int offset)
rowid value for the datum at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset from which to retrieve the value from the property array.rowid; will represent unknown value if the datum is
null. The value will have the case-sensitivity inherent to the
corresponding field.protected final void _setRowid(int offset,
rowid w)
rowid value into the data at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset at which to store the given datum in the property array.w - FWD wrapper type for the rowid value. The case-sensitivity property of this
wrapper instance is not preserved.protected final rowid[] _getRowid(int extent, int offset)
rowid extent field. All components are returned as a single
array of rowid.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.rowid representing the elements of an extent field.protected final void _setRowid(rowid[] val, int extent, int offset)
rowid extent field. Each components from val
parameter will initialize their correspondent of the extent field in data array.val - An array of rowid values to be used for setting the extent field.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.protected final void _setRowid(rowid val, int extent, int offset)
rowid extent field. All components of the extent field will
be set to val in data array.val - A rowid value to be used for setting the extent field components.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.public final handle _getHandle(int offset)
handle value for the datum at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset from which to retrieve the value from the property array.handle; will represent unknown value if the datum is
null. The value will have the case-sensitivity inherent to the
corresponding field.protected final void _setHandle(int offset,
handle w)
handle value into the data at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset at which to store the given datum in the property array.w - FWD wrapper type for the handle value. The case-sensitivity property of this
wrapper instance is not preserved.protected final handle[] _getHandle(int extent, int offset)
handle extent field. All components are returned as a single
array of handle.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.handle representing the elements of an extent field.protected final void _setHandle(handle[] val, int extent, int offset)
handle extent field. Each components from val
parameter will initialize their correspondent of the extent field in data array.val - An array of handle values to be used for setting the extent field.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.protected final void _setHandle(handle val, int extent, int offset)
handle extent field. All components of the extent field will
be set to val in data array.val - A handle value to be used for setting the extent field components.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.public final recid _getRecid(int offset)
recid value for the datum at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset from which to retrieve the value from the property array.recid; will represent unknown value if the datum is
null. The value will have the case-sensitivity inherent to the
corresponding field.protected final void _setRecid(int offset,
NumberType w)
recid value into the data at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset at which to store the given datum in the property array.w - FWD wrapper type for the recid value. The case-sensitivity property of this
wrapper instance is not preserved.protected final recid[] _getRecid(int extent, int offset)
recid extent field. All components are returned as a single
array of recid.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.recid representing the elements of an extent field.protected final void _setRecid(recid[] val, int extent, int offset)
recid extent field. Each components from val
parameter will initialize their correspondent of the extent field in data array.val - An array of recid values to be used for setting the extent field.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.protected final void _setRecid(NumberType val, int extent, int offset)
recid extent field. All components of the extent field will
be set to val in data array.val - A recid value to be used for setting the extent field components.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.public final blob _getBlob(int offset)
blob value for the datum at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset from which to retrieve the value from the property array.blob; will represent unknown value if the datum is
null.protected final blob[] _getBlob(int extent, int offset)
blob extent field. All components are returned as a single
array of blob.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.blob representing the elements of an extent field.protected final void _setBlob(int offset,
blob w)
blob value into the data at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset at which to store the given datum in the property array.w - FWD wrapper type for the value.protected final void _setBlob(blob[] val, int extent, int offset)
blob extent field. Each components from val
parameter will initialize their correspondent of the extent field in data array.val - An array of blob values to be used for setting the extent field.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.protected final void _setBlob(blob val, int extent, int offset)
blob extent field. All components of the extent field will
be set to val in data array.val - A blob value to be used for setting the extent field components.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.public final clob _getClob(int offset)
clob value for the datum at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
Note: in order for this method to work, the activeBuffer on parent object must be set in
advance. After the method was invoked, it is recommended to clear its value.
offset - Zero-based offset from which to retrieve the value from the property array.clob; will represent unknown value if the datum is null.protected final clob[] _getClob(int extent, int offset)
clob extent field. All components are returned as a single
array of clob.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.clob representing the elements of an extent field.protected final void _setClob(int offset,
clob w)
clob value into the data at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset at which to store the given datum in the property array.w - FWD wrapper type for the value.protected final void _setClob(clob[] val, int extent, int offset)
clob extent field. Each components from val
parameter will initialize their correspondent of the extent field in data array.val - An array of clob values to be used for setting the extent field.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.protected final void _setClob(clob val, int extent, int offset)
clob extent field. All components of the extent field will
be set to val in data array.val - A clob value to be used for setting the extent field components.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.public final comhandle _getComhandle(int offset)
comhandle value for the datum at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset from which to retrieve the value from the property array.comhandle; will represent unknown value if the datum is
null.protected final comhandle[] _getComhandle(int extent, int offset)
comhandle extent field. All components are returned as a single
array of comhandle.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.comhandle representing the elements of an extent field.protected final void _setComhandle(int offset,
comhandle w)
comhandle value into the data at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset at which to store the given datum in the property array.w - FWD wrapper type for the value.protected final void _setComhandle(comhandle[] val, int extent, int offset)
comhandle extent field. Each components from val
parameter will initialize their correspondent of the extent field in data array.val - An array of comhandle values to be used for setting the extent field.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.protected final void _setComhandle(comhandle val, int extent, int offset)
comhandle extent field. All components of the extent field will
be set to val in data array.val - A comhandle value to be used for setting the extent field components.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.public final object<?> _getObject(int offset)
object value for the datum at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset from which to retrieve the value from the property array.object; will represent unknown value if the datum is
null.protected final object<?>[] _getObject(int extent, int offset)
object extent field. All components are returned as a single
array of object.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.object representing the elements of an extent field.protected final void _setObject(int offset,
object<?> w)
object value into the data at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset at which to store the given datum in the property array.w - FWD wrapper type for the value.protected final void _setObject(object<?>[] val, int extent, int offset)
object extent field. Each components from val
parameter will initialize their correspondent of the extent field in data array.val - An array of object values to be used for setting the extent field.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.protected final void _setObject(object<?> val, int extent, int offset)
object extent field. All components of the extent field will
be set to val in data array.val - A object value to be used for setting the extent field components.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.public final raw _getRaw(int offset)
raw value for the datum at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset from which to retrieve the value from the property array.raw; will represent unknown value if the datum is
null.protected final raw[] _getRaw(int extent, int offset)
raw extent field. All components are returned as a single
array of raw.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.raw representing the elements of an extent field.protected final void _setRaw(int offset,
BinaryData w)
raw value into the data at the given offset in the property array.
This method serves as a bridge between the upper level DMO API used by business logic, and the low-level data storage in the record.
offset - Zero-based offset at which to store the given datum in the property array.w - FWD wrapper type for the value.protected final void _setRaw(BinaryData[] val, int extent, int offset)
raw extent field. Each components from val
parameter will initialize their correspondent of the extent field in data array.val - An array of BinaryData values to be used for setting the extent field.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.protected final void _setRaw(BinaryData val, int extent, int offset)
raw extent field. All components of the extent field will
be set to val in data array.val - A BinaryData value to be used for setting the extent field components.extent - The size of the extent field (the number of elements).offset - Zero-based offset of the first element of the extent field.protected void updateObjectRefCount(object<?> oldVal, object<?> newVal)
No-op by default.
oldVal - The old value.newVal - The new value.public boolean isMultiplyReferenced(boolean includeTransient)
includeTransient - Include the transient references (used by presort queries).true if this record is loaded in more than one buffer.final long incrementReferences(boolean transient_)
transient_ - true if this is a transient reference (usually from presort queries).final long decrementReferences(boolean transient_)
transient_ - true if this is a transient reference (usually from presort queries).final RecordMeta _getRecordMeta()
public java.lang.String toString2(boolean oneLine)
oneLine - Simplify the result to make it fit on a single line. Some details are skipped and column names.public void setPropertyValues(java.util.Map<java.lang.String,java.lang.Object> properties,
java.util.function.BiFunction<PropertyMeta,java.lang.Object,java.lang.Object> f)
properties - The properties for this record, which may be serialized as a Java type or as a String (in case
of extents).f - The function used to deserialize the values. The first argument is the PropertyMeta,
the second argument is the property value from the properties map and the returned
value is the deserialized value of this property, compatible with
PropertyMeta.getDataHandler().public java.util.Map<java.lang.String,java.lang.Object> getPropertyValues()
Any extent properties will be contained as a Java array.
getPropertyValues in interface PropertiesDescriptorpublic abstract java.lang.Object toPOJO()
Record into a POJO, if POJO class is available.
To be implemented by DMO implementations.protected abstract void populateFromPOJO(java.lang.Object pojo)
fromPOJO().
To be implemented by DMO implementations.pojo - The source for data.public static DataModelObject fromPOJO(java.lang.Object pojo)
Record starting from a POJO. To work, the application must be converted with
POJO generation enabled.pojo - The source for the new DMO Object.protected static java.util.GregorianCalendar toPojo(java.sql.Date date)
java.sql.Date to a GregorianCalendar instance.date - The date to be converted.GregorianCalendar instance.protected static java.util.GregorianCalendar toPojo(java.sql.Timestamp datetime)
java.sql.Timestamp to a GregorianCalendar instance.datetime - The datetime instant to be converted.GregorianCalendar instance.protected static java.util.GregorianCalendar toPojo(java.time.OffsetDateTime datetimetz)
java.time.OffsetDateTime to a GregorianCalendar
instance.datetimetz - The datetimetz instant to be converted.GregorianCalendar instance.protected static java.sql.Date toDmoDate(java.util.GregorianCalendar date)
GregorianCalendar to a java.sql.Date instance.date - The GregorianCalendar to be converted.Date instance.protected static java.sql.Timestamp toDmoDatetime(java.util.GregorianCalendar datetime)
GregorianCalendar to a java.sql.Timestamp instance.datetime - The GregorianCalendar instant to be converted.datetime instance.protected static java.time.OffsetDateTime toDmoDatetimetz(java.util.GregorianCalendar datetimetz)
GregorianCalendar to a java.time.OffsetDateTime
instance.datetimetz - The GregorianCalendar instant to be converted.datetimetz instance.