public abstract class BufferImpl extends HandleChain implements Buffer
Converted business logic invokes these methods on DMO proxies via a
DMO-specific interface in the form <DMO interface>.Buf
.
Each such interface extends both a custom interface of DMO-specific getter
and setter methods, as well as the Buffer
interface, which defines
the API for these standard services.
Dynamic proxy classes for each DMO type extend this class, so that business logic can invoke these standard services directly as method calls on DMO proxy instances.
This class is intentionally package private, since it is not meant to be extended outside of this package (and within this package only by dynamic proxy class), nor instantiated directly.
This class implements BufferReference
in order to grant its
instance methods access to the RecordBuffer
object associated with
each instance of the DMO proxy class which extends this class. This access
is necessary for these methods to do their work. Even though buffer()
is a public method, external packages will not be able to invoke
this method (except through reflection). This is by design, as business
logic is not meant to have access to RecordBuffer
instances.
The default implementation of this method here throws an exception, as it
is never intended to be called, but it needs to be present in order for
this class to compile, since it is referenced by other methods. Each DMO
proxy class overrides this method to provide a working implementation.
Modifier and Type | Class and Description |
---|---|
(package private) static class |
BufferImpl.FindMode
The mode for finding (first, last, unique) records in a dynamic call to a buffer handle.
|
Modifier and Type | Field and Description |
---|---|
private character |
admData
Corresponds to ADM-DATA attribute.
|
private java.lang.String |
attachedPairlist
The current value of the
ATTACHED-PAIRLIST attribute. |
private boolean |
autoDelete
The current value of AUTO-DELETE attribute.
|
private int |
batchSize
The current value of BATCH-SIZE attribute.
|
private TempTable.BeforeType |
beforeBufferType
Is this an AFTER-BUFFER or BEFORE-BUFFER? Cached after value is computed.
|
private java.util.Map<java.lang.String,CallbackData> |
callbacks
A map with all known callbacks.
|
private DataSet |
dataSet
The current dataset.
|
private DataSource |
dataSource
The attached
DataSource , if any. |
private boolean |
dataSourceModified
Current value of the
DATA-SOURCE-MODIFIED attribute. |
private java.util.Map<CaseInsensitiveString,DataSource.FieldReference> |
dataSrcMapping
The mapping of fields in data source.
|
private java.lang.String |
dataSrcMappingStr
The current value of the
DATA-SOURCE-COMPLETE-MAP attribute. |
private boolean |
deleted
Flag indicating this buffer was deleted.
|
private boolean |
deleting
Flag indicating that the deletion of this buffer is in progress.
|
private BufferFieldImpl[] |
fields
The list of buffer fields.
|
private java.util.Map<java.lang.String,BufferFieldImpl> |
fieldsByName
A mapping of fields by their property name.
|
private java.lang.String |
fillMode
The current value of the
FILL-MODE attribute. |
private boolean |
lastBatch
The current value of LAST-BATCH attribute.
|
private handle |
lastQuery
The last query this buffer was added/set to.
|
private static java.util.logging.Logger |
log
Logger
|
private character |
oldName
This is not null, when a Buffer proxy overrides the name and a backup is required
|
protected BufferImpl |
peerBuffer
The cached peer buffer.
|
private static java.lang.String |
PERMANENT_TABLE
Special 'pointer' used in management of BUFFER resources.
|
private boolean |
setUpBeforeBuffer
Flag used for bracketing internal management of BEFORE-BUFFER.
|
private integer |
uniqueID
Corresponds to UNIQUE-ID attribute.
|
name, nextSibling, prevSibling
instProc
__AFTER_ROWID__, __DATA_SOURCE_ROWID__, __ERROR_FLAG__, __ERROR_STRING__, __ORIGIN_ROWID__, __ROW_STATE__, AFTER_FILL_EVENT, AFTER_ROW_FILL_EVENT, AFTER_ROWID_FIELD, BEFORE_FILL_EVENT, BEFORE_ROW_FILL_EVENT, DATA_SOURCE_ROWID_FIELD, ERROR_ERROR, ERROR_FLAG_FIELD, ERROR_REJECTED, ERROR_STRING_FIELD, FIND_FAILED_EVENT, ORIGIN_ROWID_FIELD, ROW_CREATE_EVENT, ROW_CREATED, ROW_DELETE_EVENT, ROW_DELETED, ROW_MODIFIED, ROW_STATE_FIELD, ROW_STATE_IDX, ROW_UNMODIFIED, ROW_UPDATE_EVENT, SYNCHRONIZE_EVENT
Modifier | Constructor and Description |
---|---|
protected |
BufferImpl()
The default constructor.
|
Modifier and Type | Method and Description |
---|---|
boolean |
_ambiguous()
Indicate whether the last record retrieval attempt failed because the
query criteria was ambiguous.
|
boolean |
_available()
Indicate whether a backing data record currently is available.
|
private logical |
_current(LockType lockType)
internal implementation of FIND-CURRENT() method.
|
boolean |
_currentChanged()
Checks if the record in the buffer has changed in database since the
last
FIND CURRENT or GET CURRENT . |
DataSet |
_dataSet()
Get the
DataSet object of which the buffer is a member or null otherwise. |
boolean |
_dynamic()
Conversion of DYNAMIC attribute.
|
(package private) logical |
_find(java.lang.String predicate,
BufferImpl.FindMode mode,
LockType lock,
Buffer... substBuffers)
Execute a dynamic FIRST, LAST or UNIQUE find query.
|
boolean |
_locked()
Indicate whether the last record retrieval attempt was denied because
the target record was locked.
|
boolean |
_newlyCreated()
Indicate whether the buffer associated currently contains a record, and
whether that record is transient.
|
(package private) int |
_numFields()
Getter of NUM-FIELDS attribute.
|
logical |
acceptChanges()
Accepts changes to the data in target object (a temp-table or all temp-tables in a
DataSet ). |
logical |
acceptRowChanges()
Accepts changes to the data in one row of this
DataSet temp-table. |
handle |
afterBuffer()
Obtain the handle to the default buffer of the after-image table that corresponds to
the buffer of the before-image table currently associated with this buffer handle.
|
rowid |
afterRowid()
Gets the
ROWID of the row in the after-image table that is the current version of
the row in the before-image table currently associated with this buffer. |
logical |
ambiguous()
Indicate whether the last record retrieval attempt failed because the
query criteria was ambiguous.
|
logical |
applyCallback(java.lang.String eventName)
Applies a callback procedure, which allows execution of a defined event without duplicating
the event procedure definition.
|
private void |
assign(java.lang.String myField,
DataSource.FieldReference df,
BufferImpl srcBuffer)
Assigns the value of
srcBuffer.df to field f of this buffer. |
logical |
attachDataSource(handle hds)
Attaches a
DataSource object to this temp-table Buffer in a DataSet
object. |
logical |
attachDataSource(handle hds,
character pairList)
Attaches a
DataSource object to this temp-table Buffer in a DataSet
object. |
logical |
attachDataSource(handle hds,
character pairList,
character exceptFields)
Attaches a
DataSource object to this temp-table Buffer in a DataSet
object. |
logical |
attachDataSource(handle hds,
character pairList,
character exceptFields,
character includeFields)
Attaches a
DataSource object to this temp-table Buffer in a DataSet
object. |
character |
attachedPairlist()
Obtain a comma-separated list of field name pairs for fields in a
DataSet
temp-table buffer that are mapped to corresponding fields in an attached DataSource
object. |
logical |
autoDelete()
Get the BUFFER:AUTO-DELETE attribute.
|
void |
autoDelete(boolean autoDelete)
Set the BUFFER:AUTO-DELETE attribute.
|
void |
autoDelete(logical autoDelete)
Set the BUFFER:AUTO-DELETE attribute.
|
logical |
available()
Indicate whether a backing data record currently is available.
|
void |
average(java.lang.String column,
NumberType num)
Aggregate method which averages the values of a single column across rows in the table
backing this buffer.
|
void |
average(java.lang.String column,
NumberType num,
java.lang.String where)
Aggregate method which averages the values of a single column across rows in the table
backing this buffer.
|
void |
average(java.lang.String column,
NumberType num,
java.lang.String where,
java.lang.Object... args)
Aggregate method which averages the values of a single column across rows in the table
backing this buffer.
|
integer |
batchSize()
Gets the maximum number of
DataSet temp-table rows to retrieve in each FILL
operation. |
void |
batchSize(long size)
Sets the maximum number of
DataSet temp-table rows to retrieve in each FILL
operation. |
void |
batchSize(NumberType size)
Sets the maximum number of
DataSet temp-table rows to retrieve in each FILL
operation. |
handle |
beforeBuffer()
Obtain the handle to the default buffer of the before-image table that corresponds to
the buffer of the after-image table currently associated with this buffer handle.
|
rowid |
beforeRowid()
Gets the
ROWID of the row in the before-image table that is the current version of
the row in the before-image table currently associated with this buffer. |
abstract RecordBuffer |
buffer()
Get the
RecordBuffer instance associated with this object. |
logical |
bufferCompare(Buffer buffer)
Conversion of BUFFER-COMPARE() method (KW_BUF_COMP).
|
logical |
bufferCompare(Buffer buffer,
character mode)
Conversion of BUFFER-COMPARE() method (KW_BUF_COMP).
|
logical |
bufferCompare(Buffer buffer,
character mode,
character except)
Conversion of BUFFER-COMPARE() method (KW_BUF_COMP).
|
logical |
bufferCompare(Buffer srcBuffer,
character mode,
character except,
character pairs)
Conversion of BUFFER-COMPARE() method (KW_BUF_COMP).
|
logical |
bufferCompare(Buffer srcBuffer,
character mode,
character except,
character pairs,
logical noLobs)
Conversion of BUFFER-COMPARE() method (KW_BUF_COMP).
|
logical |
bufferCompare(handle bufHandle)
Conversion of BUFFER-COMPARE() method (KW_BUF_COMP).
|
logical |
bufferCompare(handle bufHandle,
character mode)
Conversion of BUFFER-COMPARE() method (KW_BUF_COMP).
|
logical |
bufferCompare(handle bufHandle,
character mode,
character except)
Conversion of BUFFER-COMPARE() method (KW_BUF_COMP).
|
logical |
bufferCompare(handle bufHandle,
character mode,
character except,
character pairs)
Conversion of BUFFER-COMPARE() method (KW_BUF_COMP).
|
logical |
bufferCompare(handle bufHandle,
character mode,
character except,
character pairs,
logical noLobs)
Conversion of BUFFER-COMPARE() method (KW_BUF_COMP).
|
logical |
bufferCopy(Buffer buffer)
Conversion of BUFFER-COPY() method (KW_BUF_COPY).
|
logical |
bufferCopy(Buffer buffer,
character except)
Conversion of BUFFER-COPY() method (KW_BUF_COPY).
|
logical |
bufferCopy(Buffer buffer,
character except,
character pairs)
Conversion of BUFFER-COPY() method (KW_BUF_COPY).
|
logical |
bufferCopy(Buffer buffer,
character except,
character pairs,
logical noLobs)
Conversion of BUFFER-COPY() method (KW_BUF_COPY).
|
logical |
bufferCopy(handle bufHandle)
Conversion of BUFFER-COPY() method (KW_BUF_COPY).
|
logical |
bufferCopy(handle bufHandle,
character except)
Conversion of BUFFER-COPY() method (KW_BUF_COPY).
|
logical |
bufferCopy(handle bufHandle,
character except,
character pairs)
Conversion of BUFFER-COPY() method (KW_BUF_COPY).
|
logical |
bufferCopy(handle bufHandle,
character except,
character pairs,
logical noLobs)
Conversion of BUFFER-COPY() method (KW_BUF_COPY).
|
logical |
bufferCreate()
Conversion of BUFFER-CREATE() method (KW_BUF_CREA).
|
handle |
bufferField(BaseDataType fieldName)
Conversion of BUFFER-FIELD() method (KW_BUF_FLD).
|
handle |
bufferField(character fieldName)
Conversion of BUFFER-FIELD() method (KW_BUF_FLD).
|
handle |
bufferField(int fieldNumber)
Conversion of BUFFER-FIELD() method (KW_BUF_FLD).
|
handle |
bufferField(NumberType fieldNumber)
Conversion of BUFFER-FIELD() method (KW_BUF_FLD).
|
handle |
bufferField(java.lang.String fieldName)
Implementation of BUFFER-FIELD() method (KW_BUF_FLD).
|
BufferFieldImpl |
bufferFieldForProperty(java.lang.String propertyName)
Resolve the BUFFER-FIELD with the given converted DMO property name.
|
logical |
bufferRelease()
Conversion of BUFFER-RELEASE() method (KW_BUF_REL).
|
logical |
bufferValidate()
Validate the record currently in the buffer, if any.
|
void |
changeErrorString(character errStr)
Sets the ERROR-STRING attribute of 4GL temp-table.
|
protected boolean |
checkExtentRange(int index,
int max)
Check whether an extent field index is within the valid range
0 ≤ index < max . |
handle |
childRelation(int64 index)
Obtain the handle to a
DataRelation object for which the buffer is the parent. |
handle |
childRelation(long index)
Obtain the handle to a
DataRelation object for which the buffer is the parent. |
(package private) void |
computeBufferType()
Computes the buffer type and if it is an
AFTER or a BEFORE the
peer (complementary) buffer is also stored in peerBuffer . |
logical |
copyTempTable(handle other)
Copies the other TEMP-TABLE.
|
logical |
copyTempTable(handle other,
boolean append)
Copies the other TEMP-TABLE.
|
logical |
copyTempTable(handle other,
boolean append,
boolean replace)
Copies the other TEMP-TABLE.
|
logical |
copyTempTable(handle other,
boolean append,
boolean replace,
boolean looseCopy)
Copies the other TEMP-TABLE.
|
logical |
copyTempTable(handle other,
boolean append,
boolean replace,
boolean looseCopy,
java.lang.String prefix)
Copies the other TEMP-TABLE.
|
logical |
copyTempTable(handle other,
logical append)
Copies the other TEMP-TABLE.
|
logical |
copyTempTable(handle other,
logical append,
logical replace)
Copies the other TEMP-TABLE.
|
logical |
copyTempTable(handle other,
logical append,
logical replace,
logical looseCopy)
Copies the other TEMP-TABLE.
|
logical |
copyTempTable(handle other,
logical append,
logical replace,
logical looseCopy,
character prefix)
Copies the other TEMP-TABLE.
|
void |
count(java.lang.String column,
NumberType num)
Aggregate method which counts the rows in the table backing this buffer.
|
void |
count(java.lang.String column,
NumberType num,
java.lang.String where)
Aggregate method which counts the rows in the table backing this buffer.
|
void |
count(java.lang.String column,
NumberType num,
java.lang.String where,
java.lang.Object... args)
Aggregate method which counts the rows in the table backing this buffer.
|
void |
create()
Create a new record in the buffer.
|
logical |
currentChanged()
Checks if the record in the buffer has changed in database since the
last
FIND CURRENT or GET CURRENT . |
handle |
currentIteration()
Conversion of CURRENT-ITERATION attribute (KW_CUR_ITER).
|
handle |
dataSet()
Get the handle for the
DataSet object of which the buffer is a member. |
handle |
dataSource()
Get the handle to the
DataSource object currently attached to the DataSet
object buffer. |
character |
dataSourceCompleteMap()
The list of field name pairs for all fields (in comm-delimited format) in a
DataSet
temp-table buffer that are mapped to corresponding fields in an attached data-source object. |
rowid |
dataSourceRowid()
Obtains the
DataSource row corresponding to this buffer object. |
rowid |
dataSourceRowid(character buffName)
Obtains the
DataSource row corresponding to this buffer object. |
void |
dataSourceRowid(character buffName,
rowid val)
Configures the
DataSource row corresponding to this buffer object. |
rowid |
dataSourceRowid(int64 joinLevel)
Obtains the
DataSource row corresponding to this buffer object. |
void |
dataSourceRowid(int64 joinLevel,
rowid val)
Configures the
DataSource row corresponding to this buffer object. |
void |
dataSourceRowid(rowid val)
Configures the
DataSource row corresponding to this buffer object. |
handle |
defaultBufferHandle()
Obtain the handle to the buffer that was created by default for the temporary table backing
this buffer.
|
void |
delete()
Perform actual delete of an resource.
|
void |
delete(DataModelObject[] suppDMOs,
java.lang.String where,
java.lang.Object... args)
Delete all records associated with this buffer, which match the criteria specified by the
given where clause.
|
void |
delete(java.lang.String where,
java.lang.Object... args)
Delete all records associated with this buffer, which match the criteria specified by the
given where clause.
|
logical |
deleteAll()
Bulk delete all records associated with the buffer.
|
logical |
deleteRecord()
Delete the record currently in the buffer, if any.
|
protected logical |
deleteRecord(boolean validated)
Delete the record currently in the buffer, if any.
|
logical |
deleteRecord(java.util.function.Supplier<logical> valexp,
java.lang.String valmsg)
Delete the record currently in the buffer, IF and ONLY IF the given validation expression
evaluates
true . |
logical |
deleteRecord(java.util.function.Supplier<logical> valexp,
java.util.function.Supplier<character> valmsg)
Delete the record currently in the buffer, IF and ONLY IF the given validation expression
evaluates
true . |
<T extends BaseDataType> |
dereference(java.lang.Class<T> type,
java.lang.String memberName)
Dereference a named member from this collection.
|
BaseDataType |
dereference(long index,
java.lang.String memberName)
Dereference a named member from this collection.
|
void |
dereference(long index,
java.lang.String memberName,
java.lang.Object value)
This overloaded method is used when the dereference is the left-side of an assignment.
|
BaseDataType |
dereference(NumberType index,
java.lang.String memberName)
Dereference a named member from this collection.
|
void |
dereference(NumberType index,
java.lang.String memberName,
java.lang.Object value)
This overloaded method is used when the dereference is the left-side of an assignment.
|
BaseDataType |
dereference(java.lang.String memberName)
Dereference a named member from this collection.
|
void |
dereference(java.lang.String memberName,
java.lang.Object value)
This overloaded method is used when the dereference is the left-side of an assignment.
|
logical |
detachDataSource()
Detaches the
DataSource from the temp-table buffer in a DataSet object. |
void |
disableDumpTriggers()
Disable the triggers associated with the FIND event for the buffer's table.
|
void |
disableLoadTriggers(boolean allowReplication)
Disable the triggers associated with the CREATE, WRITE, DELETE and ASSIGN events for the
buffer's table.
|
java.lang.String |
doGetName()
Get the
NAME attribute as java string. |
protected void |
doSetName(java.lang.String name)
Set NAME attribute without any checks.
|
void |
drop()
Release the record currently in the buffer, if any.
|
logical |
dynamic()
Conversion of DYNAMIC attribute.
|
logical |
error()
Returns the state of the ERROR attribute
|
void |
error(boolean value)
Setter for
ERROR attribute.The ERROR attribute is writable for a Buffer object. |
void |
error(logical value)
Setter for ERROR attribute.
|
character |
errorString()
Obtain the current ERROR-STRING attribute of 4GL temp-table.
|
logical |
fill()
Fills a
Buffer object, recursively, based on its defined data sources. |
character |
fillMode()
Obtain the mode in which the
DataSet.fill() method fills a DataSet member
buffer. |
void |
fillMode(java.lang.String mode)
Configures the mode in which the
DataSet.fill() method fills a DataSet
member buffer. |
void |
fillMode(Text mode)
Configures the mode in which the
DataSet.fill() method fills a DataSet
member buffer. |
logical |
findByRowID(rowid id)
Conversion of FIND-BY-ROWID() method (KW_FIND_BR).
|
logical |
findByRowID(rowid id,
integer lock,
int nowait)
Conversion of FIND-BY-ROWID() method (KW_FIND_BR).
|
logical |
findByRowID(rowid id,
LockType lockType)
Conversion of FIND-BY-ROWID() method (KW_FIND_BR).
|
logical |
findByRowID(rowid id,
long lock)
Conversion of FIND-BY-ROWID() method (KW_FIND_BR).
|
logical |
findByRowID(rowid id,
long lock,
long nowait)
Conversion of FIND-BY-ROWID() method (KW_FIND_BR).
|
logical |
findByRowID(rowid id,
long lock,
NumberType nowait)
Conversion of FIND-BY-ROWID() method (KW_FIND_BR).
|
logical |
findByRowID(rowid id,
NumberType lock)
Conversion of FIND-BY-ROWID() method (KW_FIND_BR).
|
logical |
findByRowID(rowid id,
NumberType lock,
long nowait)
Conversion of FIND-BY-ROWID() method (KW_FIND_BR).
|
logical |
findByRowID(rowid id,
NumberType lock,
NumberType nowait)
Conversion of FIND-BY-ROWID() method (KW_FIND_BR).
|
logical |
findCurrent()
Conversion of the FIND-CURRENT() method.
|
logical |
findCurrent(LockType lockType)
Conversion of the FIND-CURRENT() method.
|
logical |
findCurrent(LockType lockType,
long noWait)
Conversion of the FIND-CURRENT() method.
|
logical |
findCurrent(LockType lockType,
NumberType noWait)
Conversion of the FIND-CURRENT() method.
|
logical |
findCurrent(long lock)
Conversion of the FIND-CURRENT() method.
|
logical |
findCurrent(long lock,
long noWait)
Conversion of the FIND-CURRENT() method.
|
logical |
findCurrent(long lock,
NumberType noWait)
Conversion of the FIND-CURRENT() method.
|
logical |
findCurrent(NumberType lock)
Conversion of the FIND-CURRENT() method.
|
logical |
findCurrent(NumberType lock,
long noWait)
Conversion of the FIND-CURRENT() method.
|
logical |
findCurrent(NumberType lock,
NumberType noWait)
Conversion of the FIND-CURRENT() method.
|
logical |
findFirst()
Conversion of FIND-FIRST() method (KW_FIND_1ST).
|
logical |
findFirst(character predicate)
Conversion of FIND-FIRST() method (KW_FIND_1ST).
|
logical |
findFirst(character predicate,
LockType lockType)
Conversion of FIND-FIRST() method (KW_FIND_1ST).
|
logical |
findFirst(character predicate,
long lock)
Conversion of FIND-FIRST() method (KW_FIND_1ST).
|
logical |
findFirst(character predicate,
long lock,
long nowait)
Conversion of FIND-FIRST() method (KW_FIND_1ST).
|
logical |
findFirst(character predicate,
long lock,
NumberType nowait)
Conversion of FIND-FIRST() method (KW_FIND_1ST).
|
logical |
findFirst(character predicate,
NumberType lock)
Conversion of FIND-FIRST() method (KW_FIND_1ST).
|
logical |
findFirst(character predicate,
NumberType lock,
long nowait)
Conversion of FIND-FIRST() method (KW_FIND_1ST).
|
logical |
findFirst(character predicate,
NumberType lock,
NumberType nowait)
Conversion of FIND-FIRST() method (KW_FIND_1ST).
|
logical |
findLast()
Conversion of FIND-LAST() method (KW_FIND_LST).
|
logical |
findLast(character predicate)
Conversion of FIND-LAST() method (KW_FIND_LST).
|
logical |
findLast(character predicate,
LockType lockType)
Conversion of FIND-LAST() method (KW_FIND_LST).
|
logical |
findLast(character predicate,
long lock)
Conversion of FIND-LAST() method (KW_FIND_LST).
|
logical |
findLast(character predicate,
long lock,
long nowait)
Conversion of FIND-LAST() method (KW_FIND_LST).
|
logical |
findLast(character predicate,
long lock,
NumberType nowait)
Conversion of FIND-LAST() method (KW_FIND_LST).
|
logical |
findLast(character predicate,
NumberType lock)
Conversion of FIND-LAST() method (KW_FIND_LST).
|
logical |
findLast(character predicate,
NumberType lock,
long nowait)
Conversion of FIND-LAST() method (KW_FIND_LST).
|
logical |
findLast(character predicate,
NumberType lock,
NumberType nowait)
Conversion of FIND-LAST() method (KW_FIND_LST).
|
logical |
findUnique()
Conversion of FIND-UNIQUE() method (KW_FIND_UNI).
|
logical |
findUnique(character predicate)
Conversion of FIND-UNIQUE() method (KW_FIND_UNI).
|
logical |
findUnique(character predicate,
LockType lockType)
Conversion of FIND-UNIQUE() method (KW_FIND_UNI).
|
logical |
findUnique(character predicate,
long lock)
Conversion of FIND-UNIQUE() method (KW_FIND_UNI).
|
logical |
findUnique(character predicate,
long lock,
long nowait)
Conversion of FIND-UNIQUE() method (KW_FIND_UNI).
|
logical |
findUnique(character predicate,
long lock,
NumberType nowait)
Conversion of FIND-UNIQUE() method (KW_FIND_UNI).
|
logical |
findUnique(character predicate,
NumberType lock)
Conversion of FIND-UNIQUE() method (KW_FIND_UNI).
|
logical |
findUnique(character predicate,
NumberType lock,
long nowait)
Conversion of FIND-UNIQUE() method (KW_FIND_UNI).
|
logical |
findUnique(character predicate,
NumberType lock,
NumberType nowait)
Conversion of FIND-UNIQUE() method (KW_FIND_UNI).
|
private static LockType |
fromLockNowait(long lock,
long nowait)
Return
LockType instance for the given internal lock and nowait with corresponding
error processing. |
character |
getADMData()
Get the value of the ADM-DATA attribute.
|
handle |
getCallbackProcContext(java.lang.String eventName)
Retrieves the handle of the procedure that contains the internal procedure associated
with the ABL callback for the specified event
|
character |
getCallbackProcName(java.lang.String eventName)
Retrieves the name of the internal procedure associated with the ABL callback for the
specified event.
|
logical |
getChanges(handle original)
Loads the empty target
TempTable ) object with changed rows from original (source)
object. |
logical |
getChanges(handle original,
boolean parentMode)
Loads the empty target (
DataSet or TempTable ) object with changed rows from
original (source) object. |
logical |
getChanges(handle original,
logical parentMode)
Loads the empty target (
DataSet or TempTable ) object with changed rows from
original (source) object. |
character |
getDbName()
Returns the state of the DBNAME attribute
|
handle |
getQueryAsHandle()
Obtain the last associated query (to which this buffer was added or set).
|
character |
getSerializeName()
Implementation of the read access of the
SERIALIZE-NAME attribute. |
character |
getTable()
Returns the state of the TABLE attribute
|
integer |
getUniqueID()
Gets the the unique ID number associated to this object by the underlying system.
|
character |
getXmlNodeName()
Obtain the name of the XML element or attribute representing the target object (either a
DataSet , a TempTable , a TemporaryBuffer , or a temp-table
BufferField ) name in an XML document. |
boolean |
hasBeforeBufferConstraints()
Checks whether we are out of BEFORE-TABLE management mode.
|
protected boolean |
hasField(java.lang.String legFieldName)
Tests whether the table from this buffer has a legacy field named
legFieldName . |
protected boolean |
hasFieldEx(java.lang.String legFieldName)
Tests whether the table from this buffer has a legacy field named
legFieldName . |
protected boolean |
hasNextSibling()
Check if this resource supports the NEXT-SIBLING attribute.
|
protected boolean |
hasPrevSibling()
Check if this resource supports the PREV-SIBLING attribute.
|
character |
indexInformation()
Conversion of INDEX-INFORMATION method.
|
character |
indexInformation(int indexNum)
Conversion of INDEX-INFORMATION method.
|
character |
indexInformation(NumberType indexNum)
Conversion of INDEX-INFORMATION method.
|
protected void |
interlink()
Interlinks the newly created HandleChain in the both chains.
|
(package private) boolean |
invokeCallback(java.lang.String event)
Invokes a defined callback if one exist.
|
boolean |
isAfterBuffer()
Tests whether this is a
AFTER-BUFFER of a dataset. |
boolean |
isBeforeBuffer()
Tests whether this is a
BEFORE-BUFFER of a dataset. |
private static boolean |
isCallbackName(java.lang.String someName)
Test whether a string is a valid CALLBACK name for
DataSet s. |
logical |
isDataSourceModified()
Checks whether the data in the data source has been modified.
|
boolean |
isDeleting()
Check whether the delete operation for this buffer is in progress.
|
logical |
isMultiTenant()
Getter for the IS-MULTI-TENANT attribute.
|
logical |
lastBatch()
Get the BUFFER:LAST-BATCH attribute.
|
void |
lastBatch(boolean lastBatch)
Set the BUFFER:LAST-BATCH attribute.
|
void |
lastBatch(logical lastBatch)
Set the BUFFER:LAST-BATCH attribute.
|
logical |
locked()
Indicate whether the last record retrieval attempt was denied because
the target record was locked.
|
logical |
markNew()
Creates a blank before-table record for each buffer record, with a
ROW-STATE of
ROW-CREATED for a table with only new data. |
logical |
markRowState(int64 newState)
Manually set the
ROW-STATE attribute for the current record/row. |
logical |
markRowState(int64 newState,
handle before)
Manually set the
ROW-STATE attribute for the current record/row. |
logical |
markRowState(long newState)
Manually set the
ROW-STATE attribute for the current record/row. |
logical |
markRowState(long newState,
handle compareTo)
Manually set the
ROW-STATE attribute for the current record/row. |
void |
maximum(java.lang.String column,
NumberType num)
Aggregate method which finds the maximum value of a single column across rows in the table
backing this buffer.
|
void |
maximum(java.lang.String column,
NumberType num,
java.lang.String where)
Aggregate method which finds the maximum value of a single column across rows in the table
backing this buffer.
|
void |
maximum(java.lang.String column,
NumberType num,
java.lang.String where,
java.lang.Object... args)
Aggregate method which finds the maximum value of a single column across rows in the table
backing this buffer.
|
logical |
mergeChanges(handle original)
Merges the changed rows of all temp-tables or a single temp-table in a source
DataSet object loaded with the GET-CHANGES() method into the corresponding
rows of all temp-tables or a single temp-table (respectively) in the original (target)
DataSet object. |
logical |
mergeChanges(handle original,
boolean allCopyMode)
Merges the changed rows of all temp-tables or a single temp-table in a source
DataSet object
loaded with the GET-CHANGES() method into the corresponding rows of all temp-tables or a single
temp-table (respectively) in the original (target) DataSet object. |
logical |
mergeChanges(handle original,
logical allCopyMode)
Merges the changed rows of all temp-tables or a single temp-table in a source
DataSet object loaded with the GET-CHANGES() method into the corresponding
rows of all temp-tables or a single temp-table (respectively) in the original (target)
DataSet object. |
private boolean |
mergeChangesImpl(BufferImpl porigBuf,
boolean allCopyMode)
Implementation of the merge changes.
|
logical |
mergeRowChanges()
Merges single changed row of a single temp-table in a source
DataSet object loaded
with the GET-CHANGES() method into the corresponding rows of a single temp-table
into the original (target) DataSet buffer. |
logical |
mergeRowChanges(handle original)
Merges single changed row of a single temp-table in a source
DataSet object loaded
with the GET-CHANGES() method into the corresponding rows of a single temp-table
into the original (target) DataSet buffer. |
logical |
mergeRowChanges(handle original,
boolean allCopyMode)
Merges single changed row of a single temp-table in a source
DataSet object loaded
with the GET-CHANGES() method into the corresponding rows of a single temp-table
into the original (target) DataSet buffer. |
logical |
mergeRowChanges(handle original,
logical allCopyMode)
Merges single changed row of a single temp-table in a source
DataSet object loaded
with the GET-CHANGES() method into the corresponding rows of a single temp-table
into the original (target) DataSet buffer. |
private static boolean |
mergeRowChangesImpl(BufferImpl changesBuf,
BufferImpl origAfterBuf)
Implementation of the row merge changes.
|
void |
minimum(java.lang.String column,
NumberType num)
Aggregate method which finds the minimum value of a single column across rows in the table
backing this buffer.
|
void |
minimum(java.lang.String column,
NumberType num,
java.lang.String where)
Aggregate method which finds the minimum value of a single column across rows in the table
backing this buffer.
|
void |
minimum(java.lang.String column,
NumberType num,
java.lang.String where,
java.lang.Object... args)
Aggregate method which finds the minimum value of a single column across rows in the table
backing this buffer.
|
character |
namespacePrefix()
Returns the value of the the NAMESPACE-PREFIX attribute.
|
void |
namespacePrefix(character prefix)
Setter for NAMESPACE-PREFIX attribute.
|
void |
namespacePrefix(java.lang.String prefix)
Setter for NAMESPACE-PREFIX attribute.
|
character |
namespaceURI()
Returns the value of the the NAMESPACE-URI attribute.
|
void |
namespaceURI(character uri)
Setter for NAMESPACE-URI attribute.
|
void |
namespaceURI(java.lang.String uri)
Setter for NAMESPACE-URI attribute.
|
logical |
newlyCreated()
Indicate whether the buffer associated currently contains a record, and
whether that record is transient.
|
integer |
numChildRelations()
Counts the ACTIVE relations for which the buffer is the parent.
|
integer |
numFields()
Conversion of NUM-FIELDS attribute (KW_NUM_FLD).
|
rowid |
originRowid()
Obtain the
rowid of the row in the original before-image table that corresponds to
the row in the change table currently associated with this buffer handle. |
protected void |
outOfBoundsError(int index)
Record or throw an "array subscript out of range" error condition for the given subscript.
|
protected boolean |
overrideName(java.lang.String newName)
Makes a backup of the current name and it replaces it with another one.
|
handle |
parentRelation()
Obtain the handle to the ACTIVE parent data-relation object for the parent of this buffer.
|
void |
rawCopyFrom(FieldReference field)
Perform a RAW-TRANSFER operation from the given raw field into this buffer.
|
boolean |
rawCopyFrom(raw field)
Perform a RAW-TRANSFER operation from the given raw field into this buffer.
|
boolean |
rawCopyTo(Buffer buffer)
Perform a RAW-TRANSFER operation from this buffer to the given buffer.
|
void |
rawCopyTo(FieldReference field)
Perform a RAW-TRANSFER operation from this buffer to the given field, which should be of
type
raw . |
void |
rawCopyTo(raw r)
Perform a RAW-TRANSFER operation from this buffer to the given raw variable.
|
logical |
rawTransfer(boolean toMode,
handle h)
RAW-TRANSFER() method implementation that maps its processing to the same methods used
for implementation of the RAW-TRANSFER statement.
|
logical |
rawTransfer(logical toMode,
handle h)
RAW-TRANSFER() method implementation that maps its processing to the same methods used
for implementation of the RAW-TRANSFER statement.
|
logical |
readJson(SourceData source)
Implementation of the READ-JSON method.
|
logical |
readJson(SourceData source,
character readMode)
Implementation of the READ-JSON method.
|
private java.util.Map<java.lang.String,BaseDataType[]> |
readValues(java.util.List<TableMapper.LegacyFieldInfo> fields,
java.util.Map<java.lang.String,java.lang.Integer> extents,
java.io.ObjectInputStream ois)
Read record data from the ObjectInputStream
|
logical |
readXml(SourceData source,
character readMode,
character schemaLocation,
logical overrideDefaultMapping)
Implementation of the READ-XML method.
|
logical |
readXml(SourceData source,
character readMode,
character schemaLocation,
logical overrideDefaultMapping,
character fieldTypeMapping)
Implementation of the READ-XML method.
|
logical |
readXml(SourceData source,
character readMode,
character schemaLocation,
logical overrideDefaultMapping,
character fieldTypeMapping,
character verifySchemaMode)
Implementation of the READ-XML method.
|
logical |
readXmlSchema(SourceData source,
logical override)
Reads XML Schema from an XML document and uses that schema to either create a schema for a
TempTable or TempTable or verify existing schema in a TempTable ,
TempTable or temp-table Buffer object. |
logical |
readXmlSchema(SourceData source,
logical override,
Text mapping)
Reads XML Schema from an XML document and uses that schema to either create a schema for a
TempTable or TempTable or verify existing schema in a TempTable ,
TempTable or temp-table Buffer object. |
logical |
readXmlSchema(SourceData source,
logical override,
Text mapping,
Text verifyMode)
Reads XML Schema from an XML document and uses that schema to either create a schema for a
TempTable or TempTable or verify existing schema in a TempTable ,
TempTable or temp-table Buffer object. |
recid |
recordID()
Get the record ID of the current buffer's current record, if any.
|
integer |
recordLength()
Conversion of the RECORD-LENGTH built-in function.
|
BufferImpl |
ref()
Resolve the actual resource used by the runtime.
|
logical |
rejectChanges()
Rejects changes to the data in target object (a temp-table or all temp-tables in a
DataSet ). |
logical |
rejected()
Returns the state of the REJECTED attribute
|
void |
rejected(boolean value)
Setter for REJECTED attribute.
|
void |
rejected(logical value)
Setter for REJECTED attribute.
|
logical |
rejectRowChanges()
Rejects changes to the data in one row of this
DataSet temp-table. |
void |
release()
Validate and release the record currently in the buffer, if any.
|
private void |
resolveBufferFields()
Resolve the BUFFER-FIELD resources associated with this BUFFER handle.
|
protected boolean |
resourceDelete()
Delete the resource.
|
protected void |
restoreName()
Restores the name by replacing the current name with the one stored in the backup.
|
rowid |
rowID()
Get the row ID of the current buffer's current record, if any.
|
integer |
rowState()
Obtain the current change state of the
DataSet temp-table row associated with this
buffer object. |
logical |
saveRowChanges()
Saves changes from one row of the
DataSet temp-table to the associated data
source. |
logical |
saveRowChanges(NumberType buffIndex)
Saves changes from one row of the
DataSet temp-table to the associated data source. |
logical |
saveRowChanges(NumberType buffIndex,
Text skipList)
Saves changes from one row of the
DataSet temp-table to the associated data source. |
logical |
saveRowChanges(NumberType buffIndex,
Text skipList,
logical noLobs)
Saves changes from one row of the
DataSet temp-table to the associated data source. |
logical |
saveRowChanges(Text buffName)
Saves changes from one row of the
DataSet temp-table to the associated data source. |
logical |
saveRowChanges(Text buffName,
Text skipList)
Saves changes from one row of the
DataSet temp-table to the associated data source. |
logical |
saveRowChanges(Text buffName,
Text skipList,
logical noLobs)
Saves changes from one row of the
DataSet temp-table to the associated data source. |
logical |
saveRowChanges(unknown buffInfo,
Text skipList)
Saves changes from one row of the
DataSet temp-table to the associated data source. |
logical |
saveRowChanges(unknown buffInfo,
Text skipList,
logical noLobs)
Saves changes from one row of the
DataSet temp-table to the associated data source. |
private logical |
saveRowChangesImpl(int bufNo,
java.lang.String skip,
boolean noLobs)
Partial implementation of
SAVE-ROW-CHANGES method. |
private logical |
saveRowChangesImpl(java.lang.String bufName,
java.lang.String skip,
boolean noLobs)
Implementation of
SAVE-ROW-CHANGES method. |
private logical |
saveRowChangesImpl2(DataSource dSrc,
BufferImpl after,
int bufNo,
java.lang.String skip,
boolean noLobs)
Implementation of
SAVE-ROW-CHANGES method. |
logical |
serializeRow(character format,
TargetData target)
Definition of the SERIALIZE-ROW method.
|
logical |
serializeRow(character format,
TargetData target,
logical formatted)
Definition of the SERIALIZE-ROW method.
|
logical |
serializeRow(character format,
TargetData target,
logical formatted,
character encoding)
Definition of the SERIALIZE-ROW method.
|
logical |
serializeRow(character targetFormat,
TargetData target,
logical formatted,
character encoding,
logical omitInitialValues)
Definition of the SERIALIZE-ROW method.
|
logical |
serializeRow(character targetFormat,
TargetData target,
logical formatted,
character encoding,
logical omitInitialValues,
logical omitOuterObject)
Definition of the SERIALIZE-ROW method.
|
private boolean |
serializeRowImpl(java.lang.String format,
TargetData targetData,
java.lang.Boolean formatted,
java.lang.String encoding,
java.lang.Boolean omitInitial,
java.lang.Boolean omitOuter)
Implementation of the SERIALIZE-ROW method.
|
void |
setADMData(character value)
Set the value of the ADM-DATA attribute.
|
void |
setADMData(java.lang.String value)
Set the value of the ADM-DATA attribute.
|
logical |
setCallback(java.lang.String callbackName,
java.lang.String routineName,
object<?> context)
Configures a callback.
|
logical |
setCallbackProcedure(java.lang.String eventName,
java.lang.String callback,
handle context)
Associates an internal procedure with an ABL callback event.
|
protected void |
setDataSet(DataSet ds)
Sets the current 'parent' dataset.
|
void |
setDataSourceModified(boolean mod)
Manually mark the data in the target structure as modified.
|
void |
setDataSourceModified(logical mod)
Manually mark the data in the target structure as modified.
|
private void |
setDatasourceRowidImpl(java.lang.Long val)
Sets the
_dataSourceRowid internal field and register the change with the ChangeBroker
to make sure the change is persisted. |
private void |
setErrorOnSave()
Sets the
ERROR attribute to true after a failed SAVE-ROW operation. |
void |
setMultiTenant(boolean l)
Setter for the IS-MULTI-TENANT attribute.
|
void |
setMultiTenant(logical l)
Setter for the IS-MULTI-TENANT attribute.
|
private void |
setOriginRowidImpl(java.lang.Long val)
Sets the
_originRowid internal field and register the change with the ChangeBroker to
make sure the change is persisted. |
protected void |
setQuery(handle qry)
Actual setting of the query.
|
void |
setQueryAsHandle(handle qry)
Set the query associated with the given resource.
|
void |
setQueryAsHandle(QueryWrapper qry)
Set the query associated with the given resource.
|
void |
setSerializeName(java.lang.String sName)
Implementation of the write access of the
SERIALIZE-NAME attribute. |
void |
setSerializeName(Text sName)
Implementation of the write access of the
SERIALIZE-NAME attribute. |
void |
setUpBeforeBuffer(boolean on)
Flags the bracketing internal management of BEFORE-BUFFER.
|
void |
setXmlNodeName(java.lang.String name)
Sets the name of the XML element or attribute representing the target object (either a
DataSet , a TempTable , a TemporaryBuffer , or a temp-table
BufferField ) name in an XML document. |
void |
setXmlNodeName(Text name)
Sets the name of the XML element or attribute representing the target object (either a
DataSet , a TempTable , a TemporaryBuffer , or a temp-table
BufferField ) name in an XML document. |
void |
sum(java.lang.String column,
NumberType num)
Aggregate method which sums the values of a single column across rows in the table
backing this buffer.
|
void |
sum(java.lang.String column,
NumberType num,
java.lang.String where)
Aggregate method which sums the values of a single column across rows in the table
backing this buffer.
|
void |
sum(java.lang.String column,
NumberType num,
java.lang.String where,
java.lang.Object... args)
Aggregate method which sums the values of a single column across rows in the table
backing this buffer.
|
java.lang.String |
tableDefinition()
Constructs and returns a string containing the P4GL schema definition of the table.
|
handle |
tableHandle()
Conversion of TABLE-HANDLE attribute (KW_TAB_HAND).
|
boolean |
valid()
Reports if this object is valid for use.
|
void |
validate()
Validate the record currently in the buffer, if any.
|
private static boolean |
verifyTransaction(RecordBuffer buffer)
Checks if transaction is active otherwise records or shows error message.
|
private static logical |
wrapFirst(FindQuery findQuery,
LockType lockType)
Worker static method for wrapping ErrorConditionException and reusing
in all P2JQuery.findFirst() implementations
|
private static logical |
wrapLast(FindQuery findQuery,
LockType lockType)
Worker static method for wrapping ErrorConditionException and reusing
in all P2JQuery.findLast() implementations
|
private static logical |
wrapUnique(FindQuery findQuery,
LockType lockType)
Worker static method for wrapping ErrorConditionException and reusing
in all P2JQuery.findUnique() implementations
|
logical |
writeJson(TargetData target)
Implementation of the WRITE-JSON method.
|
logical |
writeJson(TargetData target,
logical formatted)
Implementation of the WRITE-JSON method.
|
logical |
writeJson(TargetData target,
logical formatted,
character encoding)
Implementation of the WRITE-JSON method.
|
logical |
writeJson(TargetData target,
logical formatted,
character encoding,
logical omitInitialValues)
Implementation of the WRITE-JSON method.
|
logical |
writeJson(TargetData target,
logical formatted,
character encoding,
logical omitInitialValues,
logical omitOuterObject)
Implementation of the WRITE-JSON method.
|
logical |
writeJson(TargetData target,
logical formatted,
character encoding,
logical omitInitialValues,
logical omitOuterObject,
logical writeBeforeImage)
Implementation of the WRITE-JSON method.
|
logical |
writeXml(TargetData target)
Implementation of the WRITE-XML method.
|
logical |
writeXml(TargetData target,
logical formatted)
Implementation of the WRITE-XML method.
|
logical |
writeXml(TargetData target,
logical formatted,
character encoding)
Implementation of the WRITE-XML method.
|
logical |
writeXml(TargetData target,
logical formatted,
character encoding,
character schemaLocation)
Implementation of the WRITE-XML method.
|
logical |
writeXml(TargetData target,
logical formatted,
character encoding,
character schemaLocation,
logical writeXmlSchema)
Implementation of the WRITE-XML method.
|
logical |
writeXml(TargetData target,
logical formatted,
character encoding,
character schemaLocation,
logical writeXmlSchema,
logical minXmlSchema)
Implementation of the WRITE-XML method.
|
logical |
writeXml(TargetData target,
logical formatted,
character encoding,
character schemaLocation,
logical writeXmlSchema,
logical minXmlSchema,
logical writeBeforeImage)
Implementation of the WRITE-XML method.
|
logical |
writeXml(TargetData target,
logical formatted,
character encoding,
character schemaLocation,
logical writeXmlSchema,
logical minXmlSchema,
logical beforeImage,
logical noInitialVals)
Implementation of the WRITE-XML method.
|
logical |
writeXmlSchema(TargetData target)
Writes an XML representation of the definition of this
TempTable . |
logical |
writeXmlSchema(TargetData target,
logical formatted)
Writes an XML representation of the definition of this
TempTable . |
logical |
writeXmlSchema(TargetData target,
logical formatted,
Text encoding)
Writes an XML representation of the definition of this
TempTable . |
logical |
writeXmlSchema(TargetData target,
logical formatted,
Text encoding,
logical minXmlSchema)
Writes an XML representation of the definition of this
TempTable . |
logical |
writeXmlSchema(TargetData target,
logical formatted,
Text encoding,
logical minXmlSchema,
logical omitInitVal)
Writes an XML representation of the definition of this
TempTable . |
firstResource, firstResource, getHead, getNextSibling, getNextSibling, getPrevSibling, getPrevSibling, getPrivateData, getTail, hasName, hasNameConstraints, hasNameReadOnly, hasParent, hasPrivateData, isChained, lastResource, lastResource, moveInChain, name, name, name, readOnlyError, readOnlyError, setHead, setNextSibling, setNextSibling, setPrevSibling, setPrevSibling, setPrivateData, setPrivateData, setPrivateData, validateName
doDelete, getResourceType, id, id, implicitDeletion, incrementTrigger, instantiatingProcedure, invalidAttribute, processResource, registerResource, setInstantiatingProcedure, toString, type, unableToAssignUnknown, unknown
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
querySynchronize
applyCallback, getCallbackProcContext, getCallbackProcName, setCallback, setCallback, setCallback, setCallback, setCallback, setCallback, setCallbackProcedure, setCallbackProcedure, setCallbackProcedure, setCallbackProcedure, setCallbackProcedure, setCallbackProcedure, setCallbackProcedure
isDataSourceModified
instantiatingProcedure
setCurrentIteration
id, id, unknown
getResourceType
private static final java.util.logging.Logger log
private static final java.lang.String PERMANENT_TABLE
LegacyResource
, this type starts with an underscore.private final character admData
private final integer uniqueID
private boolean deleted
private boolean deleting
private handle lastQuery
private DataSet dataSet
null
.private DataSource dataSource
DataSource
, if any.private int batchSize
dataSet
is valid.private boolean dataSourceModified
DATA-SOURCE-MODIFIED
attribute.private boolean lastBatch
dataSet
is valid.private java.lang.String fillMode
FILL-MODE
attribute. The default value is MERGE
. For buffers
not part of a dataset, fillMode()
will return the unknown value.private boolean autoDelete
private boolean setUpBeforeBuffer
private TempTable.BeforeType beforeBufferType
private java.lang.String attachedPairlist
ATTACHED-PAIRLIST
attribute.private java.lang.String dataSrcMappingStr
DATA-SOURCE-COMPLETE-MAP
attribute.private java.util.Map<CaseInsensitiveString,DataSource.FieldReference> dataSrcMapping
private final java.util.Map<java.lang.String,CallbackData> callbacks
private character oldName
private BufferFieldImpl[] fields
private java.util.Map<java.lang.String,BufferFieldImpl> fieldsByName
protected BufferImpl peerBuffer
protected BufferImpl()
private static logical wrapFirst(FindQuery findQuery, LockType lockType)
findQuery
- instance of FindQuerytrue
if FIND-FIRST() succeeds, else false
.private static logical wrapLast(FindQuery findQuery, LockType lockType)
findQuery
- instance of FindQuerytrue
if FIND-LAST() succeeds, else false
.private static logical wrapUnique(FindQuery findQuery, LockType lockType)
findQuery
- instance of FindQuerytrue
if FIND-UNIQUE() succeeds, else false
.private static boolean verifyTransaction(RecordBuffer buffer)
buffer
- Record buffer.true
if a transaction is active else false
.public abstract RecordBuffer buffer()
RecordBuffer
instance associated with this object.
This implementation exists only to satisfy the Java compiler. This
method is only meaningful when a proxy DMO class is created by RecordBuffer
, which will implement this method to return an instance
of RecordBuffer
associated with the proxy DMO instance.
public BufferImpl ref()
public logical lastBatch()
public void lastBatch(boolean lastBatch)
public void lastBatch(logical lastBatch)
public logical autoDelete()
autoDelete
in interface Buffer
public void autoDelete(boolean autoDelete)
autoDelete
in interface Buffer
autoDelete
- The flag state.public void autoDelete(logical autoDelete)
autoDelete
in interface Buffer
autoDelete
- The flag state.public logical isDataSourceModified()
isDataSourceModified
in interface DataSourceModifiable
true
when the data has been modified.public void setDataSourceModified(logical mod)
setDataSourceModified
in interface DataSourceModifiable
mod
- true
when the data is marked as modified and false
otherwise.public void setDataSourceModified(boolean mod)
setDataSourceModified
in interface DataSourceModifiable
mod
- true
when the data is marked as modified and false
otherwise.public boolean valid()
valid
in interface WrappedResource
deleted
flag. If a record buffer has been defined, it
is valid for use until is deleted.public boolean isDeleting()
true
when the delete operation for this buffer is under way.public handle defaultBufferHandle()
defaultBufferHandle
in interface BufferHandle
public recid recordID()
This method will return a 32-bit recid which represents the internal row ID of the given record. If the actual row ID (which is implemented as a wider integer) cannot fit due to overflow, an error condition will be raised.
recordID
in interface Buffer
dmo
, a recid
initialized as unknown value is returned.ErrorConditionException
- if the actual record ID is too wide to fit within a 32-bit
integer.public rowid rowID()
public logical available()
public boolean _available()
_available
in interface Buffer
true
if data is available, false
if
no record backs this buffer.public logical currentChanged()
FIND CURRENT
or GET CURRENT
.
P2J implementation of 4GL function CURRENT-CHANGED
.currentChanged
in interface Buffer
true
if the database record differs from the
value in memory buffer that was queried with the last
FIND
and false
otherwisepublic boolean _currentChanged()
FIND CURRENT
or GET CURRENT
.
P2J implementation of 4GL function CURRENT-CHANGED
._currentChanged
in interface Buffer
true
if the database record differs from the
value in memory buffer that was queried with the last
FIND
and false
otherwisepublic logical newlyCreated()
newlyCreated
in interface Buffer
true
if a record exists and is new, else
false
.public boolean _newlyCreated()
_newlyCreated
in interface Buffer
true
if a record exists and is new, else
false
.public logical locked()
public boolean _locked()
public logical ambiguous()
public boolean _ambiguous()
_ambiguous
in interface Buffer
true
if the query was ambiguous;
false
if the attempt succeeded, or if no attempt
has yet been made.public logical isMultiTenant()
isMultiTenant
in interface Buffer
public void setMultiTenant(logical l)
setMultiTenant
in interface Buffer
l
- The flag value.public void setMultiTenant(boolean l)
setMultiTenant
in interface Buffer
l
- The flag value.public void rawCopyTo(raw r)
public void rawCopyTo(FieldReference field)
raw
. Serializes the record currently in the buffer into the specified
field.public boolean rawCopyTo(Buffer buffer)
public void rawCopyFrom(FieldReference field)
rawCopyFrom
in interface Buffer
field
- A raw
field from which to copy the record into this buffer.public boolean rawCopyFrom(raw field)
rawCopyFrom
in interface Buffer
field
- A raw
field from which to copy the record into this buffer.true
if successfulpublic logical rawTransfer(boolean toMode, handle h)
rawTransfer
in interface Buffer
toMode
- true
if the copy direction is into the handle's resource and false
if the data is being copied into the buffer.h
- A buffer or raw buffer field.true
if RAW-TRANSFER() succeeds, else false
.public logical rawTransfer(logical toMode, handle h)
rawTransfer
in interface Buffer
toMode
- true
if the copy direction is into the handle's resource and false
if the data is being copied into the buffer.h
- A buffer or raw buffer field.true
if RAW-TRANSFER() succeeds, else false
.public void create()
create
in interface Buffer
ErrorConditionException
- if there is an error retrieving the next available primary key
from the database or locking the record.public logical deleteRecord() throws ErrorConditionException
deleteRecord
in interface Buffer
true
if the delete was possible.ErrorConditionException
- if no record currently is loaded in the buffer, or if there is
an error deleting the current record from the database.public logical deleteRecord(java.util.function.Supplier<logical> valexp, java.lang.String valmsg) throws ErrorConditionException
true
.deleteRecord
in interface Buffer
valexp
- The validation expression to evaluate.valmsg
- The error message to display when validation fails.true
if validation succeeds, false
if it fails and no
exception is raised.ErrorConditionException
- If no record currently is loaded in the buffer, or if there is an error deleting
the current record from the database or if the validation expression fails.public logical deleteRecord(java.util.function.Supplier<logical> valexp, java.util.function.Supplier<character> valmsg) throws ErrorConditionException
true
.deleteRecord
in interface Buffer
valexp
- The validation expression to evaluate.valmsg
- The error message to display when validation fails.true
if validation succeeds, false
if it fails and no
exception is raised.ErrorConditionException
- If no record currently is loaded in the buffer, or if there is an error deleting
the current record from the database or if the validation expression fails.public void delete(DataModelObject[] suppDMOs, java.lang.String where, java.lang.Object... args)
NOTE: the current implementation must not be invoked for a DMO which is backed by a permanent table; only temp-table bulk delete is supported at this time.
When this method returns:
available
returns
false
). This is because these buffers are used in a loop and the last
record is also deleted. P2J will detect these loops and convert it to the much
faster bulk delete. P4GL does not allow bulk delete using SQL
DELETE FROM ... WHERE
syntax.
delete
in interface Buffer
suppDMOs
- The DMOs for the external (additional) buffers that are accessed in inner
subselect, or null
in case of a simple where
predicate.where
- An HQL where clause snippet which defines the restriction criteria to apply to the
delete. All references to properties in a DMO must be unqualified.args
- Query substitution parameters required by the where clause.ErrorConditionException
- if there is an error deleting the records.java.lang.UnsupportedOperationException
- if invoked on a buffer associated with a permanent table.public void delete(java.lang.String where, java.lang.Object... args)
NOTE: the current implementation must not be invoked for a DMO which is backed by a permanent table; only temp-table bulk delete is supported at this time.
When this method returns:
available
returns
false
). This is because these buffers are used in a loop and the last
record is also deleted. P2J will detect these loops and convert it to the much
faster bulk delete. P4GL does not allow bulk delete using SQL
DELETE FROM ... WHERE
syntax.
delete
in interface Buffer
where
- An HQL where clause snippet which defines the restriction criteria to apply to the
delete. All references to properties in a DMO must be unqualified.args
- Query substitution parameters required by the where clause.ErrorConditionException
- if there is an error deleting the records.java.lang.UnsupportedOperationException
- if invoked on a buffer associated with a permanent table.public logical deleteAll()
When this method returns, the buffer is empty (Ie. available()
returns false
)
for both temp and permanent tables.
TODO: when is this invoked for permanent tables ?????
deleteAll
in interface EmptyTempTable
true
if the delete was possible.ErrorConditionException
- if an error occurs performing the bulk delete operation.public void average(java.lang.String column, NumberType num)
average
in interface Buffer
column
- An expression indicating the name of the column to aggregate.num
- Variable into which to store the aggregate result.ErrorConditionException
- if an error occurs performing the aggregate operation.public void average(java.lang.String column, NumberType num, java.lang.String where)
average
in interface Buffer
column
- An expression indicating the name of the column to aggregate.num
- Variable into which to store the aggregate result.where
- HQL where clause used to filter the records.ErrorConditionException
- if an error occurs performing the aggregate operation.public void average(java.lang.String column, NumberType num, java.lang.String where, java.lang.Object... args)
average
in interface Buffer
column
- An expression indicating the name of the column to aggregate.num
- Variable into which to store the aggregate result.where
- HQL where clause used to filter the records.args
- Query substitution arguments.ErrorConditionException
- if an error occurs performing the aggregate operation.public void count(java.lang.String column, NumberType num)
count
in interface Buffer
column
- An expression indicating the name of the column to aggregate. May be the wildcard
character ("*").num
- Variable into which to store the aggregate result.ErrorConditionException
- if an error occurs performing the aggregate operation.public void count(java.lang.String column, NumberType num, java.lang.String where)
count
in interface Buffer
column
- An expression indicating the name of the column to aggregate. May be the wildcard
character ("*").num
- Variable into which to store the aggregate result.where
- HQL where clause used to filter the records.ErrorConditionException
- if an error occurs performing the aggregate operation.public void count(java.lang.String column, NumberType num, java.lang.String where, java.lang.Object... args)
count
in interface Buffer
column
- An expression indicating the name of the column to aggregate. May be the wildcard
character ("*").num
- Variable into which to store the aggregate result.where
- HQL where clause used to filter the records.args
- Query substitution arguments.ErrorConditionException
- if an error occurs performing the aggregate operation.public void minimum(java.lang.String column, NumberType num)
minimum
in interface Buffer
column
- An expression indicating the name of the column to aggregate.num
- Variable into which to store the aggregate result.ErrorConditionException
- if an error occurs performing the aggregate operation.public void minimum(java.lang.String column, NumberType num, java.lang.String where)
minimum
in interface Buffer
column
- An expression indicating the name of the column to aggregate.num
- Variable into which to store the aggregate result.where
- HQL where clause used to filter the records.ErrorConditionException
- if an error occurs performing the aggregate operation.public void minimum(java.lang.String column, NumberType num, java.lang.String where, java.lang.Object... args)
minimum
in interface Buffer
column
- An expression indicating the name of the column to aggregate.num
- Variable into which to store the aggregate result.where
- HQL where clause used to filter the records.args
- Query substitution arguments.ErrorConditionException
- if an error occurs performing the aggregate operation.public void maximum(java.lang.String column, NumberType num)
maximum
in interface Buffer
column
- An expression indicating the name of the column to aggregate.num
- Variable into which to store the aggregate result.ErrorConditionException
- if an error occurs performing the aggregate operation.public void maximum(java.lang.String column, NumberType num, java.lang.String where)
maximum
in interface Buffer
column
- An expression indicating the name of the column to aggregate.num
- Variable into which to store the aggregate result.where
- HQL where clause used to filter the records.ErrorConditionException
- if an error occurs performing the aggregate operation.public void maximum(java.lang.String column, NumberType num, java.lang.String where, java.lang.Object... args)
maximum
in interface Buffer
column
- An expression indicating the name of the column to aggregate.num
- Variable into which to store the aggregate result.where
- HQL where clause used to filter the records.args
- Query substitution arguments.ErrorConditionException
- if an error occurs performing the aggregate operation.public void sum(java.lang.String column, NumberType num)
sum
in interface Buffer
column
- An expression indicating the name of the column to aggregate.num
- Variable into which to store the aggregate result.ErrorConditionException
- if an error occurs performing the aggregate operation.public void sum(java.lang.String column, NumberType num, java.lang.String where)
sum
in interface Buffer
column
- An expression indicating the name of the column to aggregate.num
- Variable into which to store the aggregate result.where
- HQL where clause used to filter the records.ErrorConditionException
- if an error occurs performing the aggregate operation.public void sum(java.lang.String column, NumberType num, java.lang.String where, java.lang.Object... args)
sum
in interface Buffer
column
- An expression indicating the name of the column to aggregate.num
- Variable into which to store the aggregate result.where
- HQL where clause used to filter the records.args
- Query substitution arguments.ErrorConditionException
- if an error occurs performing the aggregate operation.public void drop()
public void release()
release
in interface Buffer
ErrorConditionException
- if the buffer fails validation.public void validate()
validate
in interface Buffer
ErrorConditionException
- if the buffer fails validation.public logical bufferValidate()
bufferValidate
in interface Buffer
true
if the validation passes.ErrorConditionException
- if the buffer fails validation.public integer recordLength()
recordLength
in interface Buffer
public BufferFieldImpl bufferFieldForProperty(java.lang.String propertyName)
propertyName
- The property name.public handle bufferField(int fieldNumber)
bufferField
in interface Buffer
fieldNumber
- field number. An INTEGER expression representing the sequence
number of the field in the buffer.public handle bufferField(java.lang.String fieldName)
bufferField
in interface Buffer
fieldName
- The legacy field name. A CHARACTER string expression representing the name
of the field in the buffer.public logical bufferCopy(Buffer buffer)
bufferCopy
in interface Buffer
buffer
- The source buffer to copy from.true
if BUFFER-COPY() succeeds, else false
.public logical bufferCopy(Buffer buffer, character except)
bufferCopy
in interface Buffer
buffer
- The source buffer to copy from.except
- A comma-separated list of fields that will be ignored in the copy process.true
if BUFFER-COPY() succeeds, else false
.public logical bufferCopy(Buffer buffer, character except, character pairs)
bufferCopy
in interface Buffer
buffer
- The source buffer to copy from.except
- A comma-separated list of fields that will be ignored in the copy process.pairs
- A comma-separated list of field-name pairs to be copied. Each pair must contain
one field name from the source and one field name from the target.true
if BUFFER-COPY() succeeds, else false
.public logical bufferCopy(Buffer buffer, character except, character pairs, logical noLobs)
bufferCopy
in interface Buffer
buffer
- The source buffer to copy from.except
- A comma-separated list of fields that will be ignored in the copy process.pairs
- A comma-separated list of field-name pairs to be copied. Each pair must contain
one field name from the source and one field name from the target.noLobs
- If TRUE
, BLOB and CLOB fields are ignored during the copy.true
if BUFFER-COPY() succeeds, else false
.public logical bufferCopy(handle bufHandle)
bufferCopy
in interface Buffer
bufHandle
- The handle of the source buffer to copy from.true
if BUFFER-COPY() succeeds, else false
.public logical bufferCopy(handle bufHandle, character except)
bufferCopy
in interface Buffer
bufHandle
- The handle of the source buffer to copy from.except
- A comma-separated list of fields that will be ignored in the copy process.true
if BUFFER-COPY() succeeds, else false
.public logical bufferCopy(handle bufHandle, character except, character pairs)
bufferCopy
in interface Buffer
bufHandle
- The handle of the source buffer to copy from.except
- A comma-separated list of fields that will be ignored in the copy process.pairs
- A comma-separated list of field-name pairs to be copied. Each pair must contain
one field name from the source and one field name from the target.true
if BUFFER-COPY() succeeds, else false
.public logical bufferCopy(handle bufHandle, character except, character pairs, logical noLobs)
bufferCopy
in interface Buffer
bufHandle
- The handle of the source buffer to copy from.except
- A comma-separated list of fields that will be ignored in the copy process.pairs
- A comma-separated list of field-name pairs to be copied. Each pair must contain
one field name from the source and one field name from the target.noLobs
- If TRUE
, BLOB and CLOB fields are ignored during the copy.true
if BUFFER-COPY() succeeds, else false
.public logical bufferCompare(Buffer buffer)
bufferCompare
in interface Buffer
buffer
- Buffer with which to compare.true
if BUFFER-COMPARE() succeeds,
else false
.public logical bufferCompare(Buffer buffer, character mode)
bufferCompare
in interface Buffer
buffer
- Buffer with which to compare.mode
- The text "binary" or "case-sensitive", to provide that type of comparison.true
if BUFFER-COMPARE() succeeds,
else false
.public logical bufferCompare(Buffer buffer, character mode, character except)
bufferCompare
in interface Buffer
buffer
- Buffer with which to compare.mode
- The text "binary" or "case-sensitive", to provide that type of comparison.except
- A comma-separated list of fields that will be ignored in the compare process.true
if BUFFER-COMPARE() succeeds,
else false
.public logical bufferCompare(Buffer srcBuffer, character mode, character except, character pairs)
bufferCompare
in interface Buffer
srcBuffer
- Buffer with which to compare.mode
- The text "binary" or "case-sensitive", to provide that type of comparison.except
- A comma-separated list of fields that will be ignored in the compare process.pairs
- A comma-separated list of field-name pairs to be compared. Each pair must
contain one field name from the source and one field name from the target.true
if BUFFER-COMPARE() succeeds,
else false
.public logical bufferCompare(Buffer srcBuffer, character mode, character except, character pairs, logical noLobs)
bufferCompare
in interface Buffer
srcBuffer
- Buffer with which to compare.mode
- The text "binary" or "case-sensitive", to provide that type of comparison.except
- A comma-separated list of fields that will be ignored in the compare process.pairs
- A comma-separated list of field-name pairs to be compared. Each pair must
contain one field name from the source and one field name from the target.noLobs
- If true
, BLOB and CLOB fields are ignored during the comparison. May be
false
or null
to include such fields.true
if BUFFER-COMPARE() succeeds, else false
.public logical bufferCompare(handle bufHandle)
bufferCompare
in interface Buffer
bufHandle
- Handle of buffer with which to compare.true
if BUFFER-COMPARE() succeeds,
else false
.public logical bufferCompare(handle bufHandle, character mode)
bufferCompare
in interface Buffer
bufHandle
- Handle of buffer with which to compare.mode
- The text "binary" or "case-sensitive", to provide that type of comparison.true
if BUFFER-COMPARE() succeeds,
else false
.public logical bufferCompare(handle bufHandle, character mode, character except)
bufferCompare
in interface Buffer
bufHandle
- Handle of buffer with which to compare.mode
- The text "binary" or "case-sensitive", to provide that type of comparison.except
- A comma-separated list of fields that will be ignored in the compare process.true
if BUFFER-COMPARE() succeeds,
else false
.public logical bufferCompare(handle bufHandle, character mode, character except, character pairs)
bufferCompare
in interface Buffer
bufHandle
- Handle of buffer with which to compare.mode
- The text "binary" or "case-sensitive", to provide that type of comparison.except
- A comma-separated list of fields that will be ignored in the compare process.pairs
- A comma-separated list of field-name pairs to be compared. Each pair must
contain one field name from the source and one field name from the target.true
if BUFFER-COMPARE() succeeds,
else false
.public logical bufferCompare(handle bufHandle, character mode, character except, character pairs, logical noLobs)
bufferCompare
in interface Buffer
bufHandle
- Handle of buffer with which to compare.mode
- The text "binary" or "case-sensitive", to provide that type of comparison.except
- A comma-separated list of fields that will be ignored in the compare process.pairs
- A comma-separated list of field-name pairs to be compared. Each pair must
contain one field name from the source and one field name from the target.noLobs
- If TRUE
, BLOB and CLOB fields are ignored during the compare.true
if BUFFER-COMPARE() succeeds,
else false
.public logical bufferCreate()
bufferCreate
in interface Buffer
true
if successfulpublic logical bufferRelease()
bufferRelease
in interface Buffer
true
if BUFFER-RELEASE() succeeds,
else false
.public BaseDataType dereference(java.lang.String memberName)
dereference
in interface Dereferenceable
memberName
- The legacy name of the member to be extracted.public BaseDataType dereference(NumberType index, java.lang.String memberName)
handle
to a named buffer, if the collection is a buffer
the returned value is the field value with the respective name. In the case that this
collection does not have a named member with the name specified memberName
the unknown value is returned.dereference
in interface Dereferenceable
index
- The subscript to be applied to an extent field.memberName
- The name of the member to be extracted.public BaseDataType dereference(long index, java.lang.String memberName)
handle
to a named buffer, if the collection is a buffer
the returned value is the field value with the respective name. In the case that this
collection does not have a named member with the name specified memberName
the unknown value is returned.dereference
in interface Dereferenceable
index
- The subscript to be applied to an extent field.memberName
- The name of the member to be extracted.public <T extends BaseDataType> T dereference(java.lang.Class<T> type, java.lang.String memberName)
handle
to a named buffer, if the collection is a buffer
the returned value is the field value with the respective name. In the case that this
collection does not have a named member with the name specified memberName
the unknown value is returned.dereference
in interface Dereferenceable
type
- The expected type of the returned value.memberName
- The name of the member to be extracted.public void dereference(java.lang.String memberName, java.lang.Object value)
dereference
in interface Dereferenceable
memberName
- The name of the member to be extracted.value
- The new value that will be assigned to the extracted field.public void dereference(NumberType index, java.lang.String memberName, java.lang.Object value)
dereference
in interface Dereferenceable
index
- The subscript to be applied to an extent field.memberName
- The name of the member to be extracted.value
- The new value that will be assigned to the extracted field.public void dereference(long index, java.lang.String memberName, java.lang.Object value)
dereference
in interface Dereferenceable
index
- The subscript to be applied to an extent field.memberName
- The name of the member to be extracted.value
- The new value that will be assigned to the extracted field.public logical findByRowID(rowid id)
findByRowID
in interface Buffer
id
- An expression of type ROWID that represents the rowid of the
desired record.true
if it finds the record, else
false
.public logical findByRowID(rowid id, LockType lockType)
findByRowID
in interface Buffer
id
- An expression of type ROWID that represents the rowid of the desired record.lockType
- Lock typetrue
if it finds the record, else false
.public logical findByRowID(rowid id, long lock)
findByRowID
in interface Buffer
id
- An expression of type ROWID that represents the rowid of the desired record.lock
- SHARE-LOCK|EXCLUSIVE-LOCK|NO-LOCKtrue
if it finds the record, else false
.ErrorConditionException
- If locking operation fails.public logical findByRowID(rowid id, NumberType lock)
findByRowID
in interface Buffer
id
- An expression of type ROWID that represents the rowid of the desired record.lock
- SHARE-LOCK|EXCLUSIVE-LOCK|NO-LOCKtrue
if it finds the record, else false
.ErrorConditionException
- If locking operation fails.public logical findByRowID(rowid id, long lock, long nowait)
findByRowID
in interface Buffer
id
- An expression of type ROWID that represents the rowid of the desired record.lock
- SHARE-LOCK|EXCLUSIVE-LOCK|NO-LOCKnowait
- NO-WAITtrue
if it finds the record, else false
.ErrorConditionException
- If locking operation fails.public logical findByRowID(rowid id, NumberType lock, long nowait)
findByRowID
in interface Buffer
id
- An expression of type ROWID that represents the rowid of the desired record.lock
- SHARE-LOCK|EXCLUSIVE-LOCK|NO-LOCKnowait
- NO-WAITtrue
if it finds the record, else false
.ErrorConditionException
- If locking operation fails.public logical findByRowID(rowid id, long lock, NumberType nowait)
findByRowID
in interface Buffer
id
- An expression of type ROWID that represents the rowid of the desired record.lock
- SHARE-LOCK|EXCLUSIVE-LOCK|NO-LOCKnowait
- NO-WAITtrue
if it finds the record, else false
.ErrorConditionException
- If locking operation fails.public logical findByRowID(rowid id, NumberType lock, NumberType nowait)
findByRowID
in interface Buffer
id
- An expression of type ROWID that represents the rowid of the desired record.lock
- SHARE-LOCK|EXCLUSIVE-LOCK|NO-LOCKnowait
- NO-WAITtrue
if it finds the record, else false
.ErrorConditionException
- If locking operation fails.public logical findByRowID(rowid id, integer lock, int nowait)
id
- An expression of type ROWID that represents the rowid of the desired record.lock
- SHARE-LOCK|EXCLUSIVE-LOCK|NO-LOCKnowait
- NO-WAITtrue
if it finds the record, else false
.ErrorConditionException
- If locking operation fails.public logical findFirst()
public logical findFirst(character predicate)
public logical findFirst(character predicate, LockType lockType)
public logical findFirst(character predicate, long lock)
public logical findFirst(character predicate, NumberType lock)
public logical findFirst(character predicate, long lock, long nowait)
findFirst
in interface Buffer
predicate
- Predicate expression for find.lock
- SHARE-LOCK|EXCLUSIVE-LOCK|NO-LOCKnowait
- Integer value of one of the following: NO-WAIT, 0, or the Unknown value (?).true
if FIND-FIRST() succeeds, else false
.ErrorConditionException
- If locking operation fails.public logical findFirst(character predicate, NumberType lock, long nowait)
findFirst
in interface Buffer
predicate
- Predicate expression for find.lock
- SHARE-LOCK|EXCLUSIVE-LOCK|NO-LOCKnowait
- Integer value of one of the following: NO-WAIT, 0, or the Unknown value (?).true
if FIND-FIRST() succeeds, else false
.ErrorConditionException
- If locking operation fails.public logical findFirst(character predicate, long lock, NumberType nowait)
findFirst
in interface Buffer
predicate
- Predicate expression for find.lock
- SHARE-LOCK|EXCLUSIVE-LOCK|NO-LOCKnowait
- Integer value of one of the following: NO-WAIT, 0, or the Unknown value (?).true
if FIND-FIRST() succeeds, else false
.ErrorConditionException
- If locking operation fails.public logical findFirst(character predicate, NumberType lock, NumberType nowait)
findFirst
in interface Buffer
predicate
- Predicate expression for find.lock
- SHARE-LOCK|EXCLUSIVE-LOCK|NO-LOCKnowait
- Integer value of one of the following: NO-WAIT, 0, or the Unknown value (?).true
if FIND-FIRST() succeeds, else false
.ErrorConditionException
- If locking operation fails.public logical findLast()
public logical findLast(character predicate)
public logical findLast(character predicate, LockType lockType)
public logical findLast(character predicate, long lock)
public logical findLast(character predicate, NumberType lock)
public logical findLast(character predicate, long lock, long nowait)
findLast
in interface Buffer
predicate
- Predicate expression for find.lock
- SHARE-LOCK|EXCLUSIVE-LOCK|NO-LOCKnowait
- Integer value of one of the following: NO-WAIT, 0, or the Unknown value (?).true
if FIND-LAST() succeeds, else false
.ErrorConditionException
- If locking operation fails.public logical findLast(character predicate, NumberType lock, long nowait)
findLast
in interface Buffer
predicate
- Predicate expression for find.lock
- SHARE-LOCK|EXCLUSIVE-LOCK|NO-LOCKnowait
- Integer value of one of the following: NO-WAIT, 0, or the Unknown value (?).true
if FIND-LAST() succeeds, else false
.ErrorConditionException
- If locking operation fails.public logical findLast(character predicate, long lock, NumberType nowait)
findLast
in interface Buffer
predicate
- Predicate expression for find.lock
- SHARE-LOCK|EXCLUSIVE-LOCK|NO-LOCKnowait
- Integer value of one of the following: NO-WAIT, 0, or the Unknown value (?).true
if FIND-LAST() succeeds, else false
.ErrorConditionException
- If locking operation fails.public logical findLast(character predicate, NumberType lock, NumberType nowait)
findLast
in interface Buffer
predicate
- Predicate expression for find.lock
- SHARE-LOCK|EXCLUSIVE-LOCK|NO-LOCKnowait
- Integer value of one of the following: NO-WAIT, 0, or the Unknown value (?).true
if FIND-LAST() succeeds, else false
.ErrorConditionException
- If locking operation fails.public logical findUnique()
findUnique
in interface Buffer
true
if FIND-UNIQUE() succeeds, else false
.public logical findUnique(character predicate)
findUnique
in interface Buffer
predicate
- Predicate expression for find.true
if FIND-UNIQUE() succeeds, else false
.public logical findUnique(character predicate, LockType lockType)
findUnique
in interface Buffer
predicate
- Predicate expression for find.lockType
- Lock typetrue
if FIND-UNIQUE() succeeds, else false
.public logical findUnique(character predicate, long lock)
findUnique
in interface Buffer
predicate
- Predicate expression for find.lock
- SHARE-LOCK|EXCLUSIVE-LOCK|NO-LOCKtrue
if FIND-UNIQUE() succeeds, else false
.public logical findUnique(character predicate, NumberType lock)
findUnique
in interface Buffer
predicate
- Predicate expression for find.lock
- SHARE-LOCK|EXCLUSIVE-LOCK|NO-LOCKtrue
if FIND-UNIQUE() succeeds, else false
.public logical findUnique(character predicate, long lock, long nowait)
findUnique
in interface Buffer
predicate
- Predicate expression for find.lock
- SHARE-LOCK|EXCLUSIVE-LOCK|NO-LOCKnowait
- Integer value of one of the following: NO-WAIT, 0, or the Unknown value (?).true
if FIND-UNIQUE() succeeds, else false
.ErrorConditionException
- If locking operation fails.public logical findUnique(character predicate, NumberType lock, long nowait)
findUnique
in interface Buffer
predicate
- Predicate expression for find.lock
- SHARE-LOCK|EXCLUSIVE-LOCK|NO-LOCKnowait
- Integer value of one of the following: NO-WAIT, 0, or the Unknown value (?).true
if FIND-UNIQUE() succeeds, else false
.ErrorConditionException
- If locking operation fails.public logical findUnique(character predicate, long lock, NumberType nowait)
findUnique
in interface Buffer
predicate
- Predicate expression for find.lock
- SHARE-LOCK|EXCLUSIVE-LOCK|NO-LOCKnowait
- Integer value of one of the following: NO-WAIT, 0, or the Unknown value (?).true
if FIND-UNIQUE() succeeds,
else false
.ErrorConditionException
- If locking operation fails.public logical findUnique(character predicate, NumberType lock, NumberType nowait)
findUnique
in interface Buffer
predicate
- Predicate expression for find.lock
- SHARE-LOCK|EXCLUSIVE-LOCK|NO-LOCKnowait
- Integer value of one of the following: NO-WAIT, 0, or the Unknown value (?).true
if FIND-UNIQUE() succeeds,
else false
.ErrorConditionException
- If locking operation fails.public logical findCurrent()
findCurrent
in interface Buffer
true
if FIND-CURRENT() succeeds (the lock type is changed), else false
.public logical findCurrent(LockType lockType)
findCurrent
in interface Buffer
lockType
- Lock type.true
if FIND-CURRENT() succeeds (the lock type is changed), else false
.public logical findCurrent(NumberType lock)
findCurrent
in interface Buffer
lock
- Lock type.true
if FIND-CURRENT() succeeds (the lock type is changed), else false
.public logical findCurrent(long lock)
findCurrent
in interface Buffer
lock
- Lock type.true
if FIND-CURRENT() succeeds (the lock type is changed), else false
.public logical findCurrent(LockType lockType, long noWait)
findCurrent
in interface Buffer
lockType
- Lock type.noWait
- Zero to lock without waiting; non-zero to wait to acquire the lock.true
if FIND-CURRENT() succeeds (the lock type is changed), else false
.public logical findCurrent(NumberType lock, long noWait)
findCurrent
in interface Buffer
lock
- Lock type.noWait
- Zero to lock without waiting; non-zero to wait to acquire the lock.true
if FIND-CURRENT() succeeds (the lock type is changed), else false
.public logical findCurrent(long lock, long noWait)
findCurrent
in interface Buffer
lock
- Lock type.noWait
- Zero to lock without waiting; non-zero to wait to acquire the lock.true
if FIND-CURRENT() succeeds (the lock type is changed), else false
.public logical findCurrent(LockType lockType, NumberType noWait)
findCurrent
in interface Buffer
lockType
- Lock type.noWait
- Zero or unknown value to lock without waiting; non-zero to wait to acquire the
lock.true
if FIND-CURRENT() succeeds (the lock type is changed), else false
.public logical findCurrent(NumberType lock, NumberType noWait)
findCurrent
in interface Buffer
lock
- Lock type.noWait
- Zero or unknown value to lock without waiting; non-zero to wait to acquire the
lock.true
if FIND-CURRENT() succeeds (the lock type is changed), else false
.public logical findCurrent(long lock, NumberType noWait)
findCurrent
in interface Buffer
lock
- Lock type.noWait
- Zero or unknown value to lock without waiting; non-zero to wait to acquire the
lock.true
if FIND-CURRENT() succeeds (the lock type is changed), else false
.public integer numFields()
public void disableDumpTriggers()
disableDumpTriggers
in interface Buffer
public void disableLoadTriggers(boolean allowReplication)
disableLoadTriggers
in interface Buffer
allowReplication
- If true
then only CREATE, DELETE, ASSIGN and WRITE triggers are
disabled, and not REPLICATION-CREATE, REPLICATION-DELETE and REPLICATION-WRITE
triggers.public handle currentIteration()
currentIteration
in interface IterableResource
public void changeErrorString(character errStr)
changeErrorString
in interface ErrorString
errStr
- The new value for the ERROR-STRING attribute.public character errorString()
errorString
in interface ErrorString
public logical error()
public void error(boolean value)
ERROR
attribute.ERROR
attribute is writable for a Buffer
object. The attribute can be set
programmatically in order to manage the application response to errors.FALSE
, the application will ignore all errors that might be returned for a
statement using the NO-ERROR
option.ERROR
condition.public void error(logical value)
public character getDbName()
getDbName
in interface DatabaseInfo
public character getTable()
getTable
in interface DatabaseInfo
public handle tableHandle()
tableHandle
in interface Buffer
public character indexInformation()
indexInformation
in interface IndexInformation
public character indexInformation(int indexNum)
indexInformation
in interface IndexInformation
indexNum
- 1-based number of the index in the definition order.public character indexInformation(NumberType indexNum)
indexInformation
in interface IndexInformation
indexNum
- 1-based number of the index in the definition order.public boolean _dynamic()
true
if the buffer is dynamic._dynamic
in interface DynamicResource
true
if the buffer is dynamic.public logical dynamic()
true
if the buffer is dynamic.dynamic
in interface DynamicResource
true
if the buffer is dynamic.public character getADMData()
getADMData
in interface ADMData
public void setADMData(java.lang.String value)
setADMData
in interface ADMData
value
- The new value.public void setADMData(character value)
setADMData
in interface ADMData
value
- The new value.public integer getUniqueID()
getUniqueID
in interface UniqueID
public character namespaceURI()
namespaceURI
in interface NamespaceURI
public void namespaceURI(java.lang.String uri)
namespaceURI
in interface NamespaceURI
uri
- The new value of the NAMESPACE-URI attribute.public void namespaceURI(character uri)
namespaceURI
in interface NamespaceURI
uri
- The new value of the NAMESPACE-URI attribute.public character namespacePrefix()
namespacePrefix
in interface NamespaceURI
public void namespacePrefix(java.lang.String prefix)
namespacePrefix
in interface NamespaceURI
prefix
- The new value of the NAMESPACE-PREFIX attribute.public void namespacePrefix(character prefix)
namespacePrefix
in interface NamespaceURI
prefix
- The new value of the NAMESPACE-PREFIX attribute.public character getSerializeName()
SERIALIZE-NAME
attribute.getSerializeName
in interface NamedSerializable
SERIALIZE-NAME
attribute.public void setSerializeName(Text sName)
SERIALIZE-NAME
attribute.setSerializeName
in interface NamedSerializable
sName
- the new value for the SERIALIZE-NAME
attribute.public void setSerializeName(java.lang.String sName)
SERIALIZE-NAME
attribute.setSerializeName
in interface NamedSerializable
sName
- The new value for the SERIALIZE-NAME
attribute.public character getXmlNodeName()
DataSet
, a TempTable
, a TemporaryBuffer
, or a temp-table
BufferField
) name in an XML document.public void setXmlNodeName(java.lang.String name)
DataSet
, a TempTable
, a TemporaryBuffer
, or a temp-table
BufferField
) name in an XML document.name
- The new name of the XML element for this object.public void setXmlNodeName(Text name)
DataSet
, a TempTable
, a TemporaryBuffer
, or a temp-table
BufferField
) name in an XML document.name
- The new name of the XML element for this object.public void delete()
HandleChain.delete()
really disconnected it from the chain)delete
in interface Deletable
delete
in class HandleChain
public handle bufferField(NumberType fieldNumber)
bufferField
in interface Buffer
fieldNumber
- field number. An INTEGER expression representing the sequence
number of the field in the buffer.public handle bufferField(character fieldName)
bufferField
in interface Buffer
fieldName
- A CHARACTER string expression representing the name of the field in the buffer.public handle bufferField(BaseDataType fieldName)
bufferField
in interface Buffer
fieldName
- A CHARACTER string expression representing the name of the field in the buffer.public logical readXml(SourceData source, character readMode, character schemaLocation, logical overrideDefaultMapping)
Defaults applied:
readXml
in interface XmlData
source
- Data source.readMode
- Mode in which data is read into buffer. Must evaluate to APPEND
, EMPTY
, MERGE
, or REPLACE
.schemaLocation
- Name of an external XML schema file, or empty string or unknown value to use the
xsi:noNamespaceSchemaLocation
value set in the XML data, if any.overrideDefaultMapping
- True
to override the default string-to-binary data type mappings when
creating a temp-table schema from an XML schema.True
if the operation completed successfully, else false
.public logical readXml(SourceData source, character readMode, character schemaLocation, logical overrideDefaultMapping, character fieldTypeMapping)
Defaults applied:
readXml
in interface XmlData
source
- Data source.readMode
- Mode in which data is read into buffer. Must evaluate to APPEND
, EMPTY
, MERGE
, or REPLACE
.schemaLocation
- Name of an external XML schema file, or empty string or unknown value to use the
xsi:noNamespaceSchemaLocation
value set in the XML data, if any.overrideDefaultMapping
- True
to override the default string-to-binary data type mappings when
creating a temp-table schema from an XML schema.fieldTypeMapping
- Comma-delimited list of field name and data type name pairs to use to override
data type mappings of specific fields. Specify unknown value to use default
mappings.True
if the operation completed successfully, else false
.public logical readXml(SourceData source, character readMode, character schemaLocation, logical overrideDefaultMapping, character fieldTypeMapping, character verifySchemaMode)
readXml
in interface XmlData
source
- Data source.readMode
- Mode in which data is read into buffer. Must evaluate to APPEND
, EMPTY
, MERGE
, or REPLACE
.schemaLocation
- Name of an external XML schema file, or empty string or unknown value to use the
xsi:noNamespaceSchemaLocation
value set in the XML data, if any.overrideDefaultMapping
- True
to override the default string-to-binary data type mappings when
creating a temp-table schema from an XML schema.fieldTypeMapping
- Comma-delimited list of field name and data type name pairs to use to override
data type mappings of specific fields. Specify unknown value to use default
mappings.verifySchemaMode
- Schema verification mode. Must evaluate to IGNORE
, LOOSE
, or
STRICT
. Default is LOOSE
.True
if the operation completed successfully, else false
.public logical writeXml(TargetData target)
Defaults applied:
public logical writeXml(TargetData target, logical formatted)
Defaults applied:
public logical writeXml(TargetData target, logical formatted, character encoding)
Defaults applied:
writeXml
in interface XmlData
target
- Data target.formatted
- True
to format the XML to make it more readable; false
to write it
as unformatted text. Unknown value is treated as false
.encoding
- Name of the character encoding to use.True
if the operation completed successfully, else false
.public logical writeXml(TargetData target, logical formatted, character encoding, character schemaLocation)
Defaults applied:
writeXml
in interface XmlData
target
- Data target.formatted
- True
to format the XML to make it more readable; false
to write it
as unformatted text. Unknown value is treated as false
.encoding
- Name of the character encoding to use.schemaLocation
- Name of an external XML schema file, or empty string or unknown value to set the
xsi:noNamespaceSchemaLocation
to empty string or unknown value.True
if the operation completed successfully, else false
.public logical writeXml(TargetData target, logical formatted, character encoding, character schemaLocation, logical writeXmlSchema)
Defaults applied:
writeXml
in interface XmlData
target
- Data target.formatted
- True
to format the XML to make it more readable; false
to write it
as unformatted text. Unknown value is treated as false
.encoding
- Name of the character encoding to use.schemaLocation
- Name of an external XML schema file, or empty string or unknown value to set the
xsi:noNamespaceSchemaLocation
to empty string or unknown value.writeXmlSchema
- True
to write XML schema information, else false
.True
if the operation completed successfully, else false
.public logical writeXml(TargetData target, logical formatted, character encoding, character schemaLocation, logical writeXmlSchema, logical minXmlSchema)
Defaults applied:
writeXml
in interface XmlData
target
- Data target.formatted
- True
to format the XML to make it more readable; false
to write it
as unformatted text. Unknown value is treated as false
.encoding
- Name of the character encoding to use.schemaLocation
- Name of an external XML schema file, or empty string or unknown value to set the
xsi:noNamespaceSchemaLocation
to empty string or unknown value.writeXmlSchema
- True
to write XML schema information, else false
.minXmlSchema
- True
to write minimal XML schema information, else false
. Must be
false
if writeXmlSchema
is false
.True
if the operation completed successfully, else false
.public logical writeXml(TargetData target, logical formatted, character encoding, character schemaLocation, logical writeXmlSchema, logical minXmlSchema, logical writeBeforeImage)
Defaults applied:
writeXml
in interface XmlData
target
- Data target.formatted
- True
to format the XML to make it more readable; false
to write it
as unformatted text. Unknown value is treated as false
.encoding
- Name of the character encoding to use.schemaLocation
- Name of an external XML schema file, or empty string or unknown value to set the
xsi:noNamespaceSchemaLocation
to empty string or unknown value.writeXmlSchema
- True
to write XML schema information, else false
.minXmlSchema
- True
to write minimal XML schema information, else false
. Must be
false
if writeXmlSchema
is false
.writeBeforeImage
- True
to write before-image data and error information, else false
.True
if the operation completed successfully, else false
.public logical writeXml(TargetData target, logical formatted, character encoding, character schemaLocation, logical writeXmlSchema, logical minXmlSchema, logical beforeImage, logical noInitialVals)
writeXml
in interface XmlData
target
- Data target.formatted
- True
to format the XML to make it more readable; false
to write it
as unformatted text. Unknown value is treated as false
.encoding
- Name of the character encoding to use.schemaLocation
- Name of an external XML schema file, or empty string or unknown value to set the
xsi:noNamespaceSchemaLocation
to empty string or unknown value.writeXmlSchema
- True
to write XML schema information, else false
.minXmlSchema
- True
to write minimal XML schema information, else false
. Must be
false
if writeXmlSchema
is false
.beforeImage
- True
to write before-image data and error information, else false
.noInitialVals
- True
to omit data for fields whose values match their initial values.True
if the operation completed successfully, else false
.public logical writeXmlSchema(TargetData target)
TempTable
.writeXmlSchema
in interface XmlData
target
- Data target.true
if operation is successful.public logical writeXmlSchema(TargetData target, logical formatted)
TempTable
.writeXmlSchema
in interface XmlData
target
- Data target.formatted
- Use true
for a more human-readable document.true
if operation is successful.public logical writeXmlSchema(TargetData target, logical formatted, Text encoding)
TempTable
.writeXmlSchema
in interface XmlData
target
- Data target.formatted
- Use true
for a more human-readable document.encoding
- The character encoding. The default is UTF-8.true
if operation is successful.public logical writeXmlSchema(TargetData target, logical formatted, Text encoding, logical minXmlSchema)
TempTable
.writeXmlSchema
in interface XmlData
target
- Data target.formatted
- Use true
for a more human-readable document.encoding
- The character encoding. The default is UTF-8.minXmlSchema
- If true
, the minimum amount of schema for the object will be written.true
if operation is successful.public logical writeXmlSchema(TargetData target, logical formatted, Text encoding, logical minXmlSchema, logical omitInitVal)
TempTable
.writeXmlSchema
in interface XmlData
target
- Data target.formatted
- Use true
for a more human-readable document.encoding
- The character encoding. The default is UTF-8.minXmlSchema
- If true
, the minimum amount of schema for the object will be written.omitInitVal
- Use true
to omit the initial values.true
if operation is successful.public logical serializeRow(character targetFormat, TargetData target, logical formatted, character encoding, logical omitInitialValues)
serializeRow
in interface Buffer
targetFormat
- The format ("xml" or "json").target
- Data target.formatted
- True
to format the data for making it more readable; false
to write it
as unformatted text. Unknown value is treated as false
.encoding
- Name of the character encoding to use.omitInitialValues
- True
to omit data for fields whose values match their initial values.True
if the operation completed successfully, else false
.public logical serializeRow(character format, TargetData target, logical formatted, character encoding)
serializeRow
in interface Buffer
format
- The format ("xml" or "json").target
- Data target.formatted
- True
to format the data for making it more readable; false
to write it
as unformatted text. Unknown value is treated as false
.encoding
- Name of the character encoding to use.True
if the operation completed successfully, else false
.public logical serializeRow(character format, TargetData target, logical formatted)
serializeRow
in interface Buffer
format
- The format ("xml" or "json").target
- Data target.formatted
- True
to format the data for making it more readable; false
to write it
as unformatted text. Unknown value is treated as false
.True
if the operation completed successfully, else false
.public logical serializeRow(character format, TargetData target)
serializeRow
in interface Buffer
format
- The format ("xml" or "json").target
- Data target.True
if the operation completed successfully, else false
.public logical serializeRow(character targetFormat, TargetData target, logical formatted, character encoding, logical omitInitialValues, logical omitOuterObject)
serializeRow
in interface Buffer
targetFormat
- The format ("xml" or "json").target
- Data target.formatted
- True
to format the data for making it more readable; false
to write it
as unformatted text. Unknown value is treated as false
.encoding
- Name of the character encoding to use.omitInitialValues
- True
to omit data for fields whose values match their initial values.omitOuterObject
- True
to omit data for the outermost object from the output.True
if the operation completed successfully, else false
.public logical readXmlSchema(SourceData source, logical override)
TempTable
or TempTable
or verify existing schema in a TempTable
,
TempTable
or temp-table Buffer
object.readXmlSchema
in interface XmlData
source
- Data source.override
- If true
the default mapping between XML Schema string and binary data types
and ABL data types when creating an ABL temp-table schema from an XML Schema will
be overwritten.true
if operation is successful.public logical readXmlSchema(SourceData source, logical override, Text mapping)
TempTable
or TempTable
or verify existing schema in a TempTable
,
TempTable
or temp-table Buffer
object.readXmlSchema
in interface XmlData
source
- Data source.override
- If true
the default mapping between XML Schema string and binary data types
and ABL data types when creating an ABL temp-table schema from an XML Schema will
be overwritten.mapping
- A comma-delimited list of field name, data type pairs. This allows to specify the
data type for a specific field.true
if operation is successful.public logical readXmlSchema(SourceData source, logical override, Text mapping, Text verifyMode)
TempTable
or TempTable
or verify existing schema in a TempTable
,
TempTable
or temp-table Buffer
object.readXmlSchema
in interface XmlData
source
- Data source.override
- If true
the default mapping between XML Schema string and binary data types
and ABL data types when creating an ABL temp-table schema from an XML Schema will
be overwritten.mapping
- A comma-delimited list of field name, data type pairs. This allows to specify the
data type for a specific field.verifyMode
- Specifies how the XML will be verified against the schema. Valid values: "LOOSE" or
"STRICT".true
if operation is successful.public logical readJson(SourceData source)
Defaults applied:
MERGE
read modepublic logical readJson(SourceData source, character readMode)
public logical writeJson(TargetData target)
Defaults applied:
target
represents a JsonArray
object.
public logical writeJson(TargetData target, logical formatted)
Defaults applied:
target
represents a JsonArray
object.
public logical writeJson(TargetData target, logical formatted, character encoding)
Defaults applied:
target
represents a JsonArray
object.
writeJson
in interface JsonData
target
- Data target.formatted
- True
to format the JSON to make it more readable; false
to write it
as unformatted text. Unknown value is treated as false
.encoding
- Name of the character encoding to use.True
if the operation completed successfully, else false
.public logical writeJson(TargetData target, logical formatted, character encoding, logical omitInitialValues)
Defaults applied:
target
represents a JsonArray
object.
writeJson
in interface JsonData
target
- Data target.formatted
- True
to format the JSON to make it more readable; false
to write it
as unformatted text. Unknown value is treated as false
.encoding
- Name of the character encoding to use.omitInitialValues
- True
to omit data for fields whose values match their initial values.True
if the operation completed successfully, else false
.public logical writeJson(TargetData target, logical formatted, character encoding, logical omitInitialValues, logical omitOuterObject)
Defaults applied:
writeJson
in interface JsonData
target
- Data target.formatted
- True
to format the JSON to make it more readable; false
to write it
as unformatted text. Unknown value is treated as false
.encoding
- Name of the character encoding to use.omitInitialValues
- True
to omit data for fields whose values match their initial values.omitOuterObject
- True
to omit data for the outermost object from the output.True
if the operation completed successfully, else false
.public logical writeJson(TargetData target, logical formatted, character encoding, logical omitInitialValues, logical omitOuterObject, logical writeBeforeImage)
writeJson
in interface JsonData
target
- Data target.formatted
- True
to format the JSON to make it more readable; false
to write it
as unformatted text. Unknown value is treated as false
.encoding
- Name of the character encoding to use.omitInitialValues
- True
to omit data for fields whose values match their initial values.omitOuterObject
- True
to omit data for the outermost object from the output.writeBeforeImage
- True
to write before-image data and error information, else false
.True
if the operation completed successfully, else false
.public logical copyTempTable(handle other)
copyTempTable
in interface TempTableDuplicator
other
- Some other temp-table to copy from.true
if operation is successful.public logical copyTempTable(handle other, logical append)
copyTempTable
in interface TempTableDuplicator
other
- Some other temp-table to copy from.append
- Append mode.true
if operation is successful.public logical copyTempTable(handle other, logical append, logical replace)
copyTempTable
in interface TempTableDuplicator
other
- Some other temp-table to copy from.append
- Append mode.replace
- Replace mode.true
if operation is successfulpublic logical copyTempTable(handle other, logical append, logical replace, logical looseCopy)
copyTempTable
in interface TempTableDuplicator
other
- Some other temp-table to copy from.append
- Append mode.replace
- Replace mode.looseCopy
- Loose copy mode.true
if operation is successful.public logical copyTempTable(handle other, boolean append)
copyTempTable
in interface TempTableDuplicator
other
- Some other temp-table to copy from.append
- Append mode.true
if operation is successful.public logical copyTempTable(handle other, boolean append, boolean replace)
copyTempTable
in interface TempTableDuplicator
other
- Some other temp-table to copy from.append
- Append mode.replace
- Replace mode.true
if operation is successful.public logical copyTempTable(handle other, boolean append, boolean replace, boolean looseCopy)
copyTempTable
in interface TempTableDuplicator
other
- Some other temp-table to copy from.append
- Append mode.replace
- Replace mode.looseCopy
- Loose copy mode.true
if operation is successful.public logical copyTempTable(handle other, logical append, logical replace, logical looseCopy, character prefix)
copyTempTable
in interface TempTableDuplicator
other
- Some other temp-table to copy from.append
- Append mode.replace
- Replace mode.looseCopy
- Loose copy mode.prefix
- Prefix for naming the copied temp-table.true
if operation is successful.public logical copyTempTable(handle other, boolean append, boolean replace, boolean looseCopy, java.lang.String prefix)
copyTempTable
in interface TempTableDuplicator
other
- Some other temp-table to copy from.append
- Append mode.replace
- Replace mode.looseCopy
- Loose copy mode.prefix
- Prefix for naming the copied temp-table.true
if operation is successful.public handle getQueryAsHandle()
getQueryAsHandle
in interface QueryAssociable
unknown
if none exists.public void setQueryAsHandle(handle qry)
setQueryAsHandle
in interface QueryAssociable
qry
- The query to associate.public void setQueryAsHandle(QueryWrapper qry)
setQueryAsHandle
in interface QueryAssociable
qry
- The query to associate.public integer batchSize()
DataSet
temp-table rows to retrieve in each FILL
operation. The default value is zero (which retrieves all rows that satisfy the associated
query).public void batchSize(long size)
DataSet
temp-table rows to retrieve in each FILL
operation.public void batchSize(NumberType size)
DataSet
temp-table rows to retrieve in each FILL
operation.public rowid afterRowid()
ROWID
of the row in the after-image table that is the current version of
the row in the before-image table currently associated with this buffer. This row can
be a new or modified row.afterRowid
in interface Buffer
ROWID
of the row in the after-image table that is the current version
of the row in the before-image tablepublic rowid beforeRowid()
ROWID
of the row in the before-image table that is the current version of
the row in the before-image table currently associated with this buffer. This row can
be a new or modified row.beforeRowid
in interface Buffer
ROWID
of the row in the before-image table that is the current version
of the row in the before-image tablepublic integer rowState()
DataSet
temp-table row associated with this
buffer object.public logical acceptRowChanges()
DataSet
temp-table.acceptRowChanges
in interface Buffer
true
on success.public logical rejectRowChanges()
DataSet
temp-table.rejectRowChanges
in interface Buffer
true
on success.public logical saveRowChanges()
DataSet
temp-table to the associated data
source.saveRowChanges
in interface Buffer
true
on success.public logical saveRowChanges(NumberType buffIndex)
DataSet
temp-table to the associated data source.saveRowChanges
in interface Buffer
buffIndex
- The index of the buffer in the data source.true
on success.public logical saveRowChanges(Text buffName)
DataSet
temp-table to the associated data source.saveRowChanges
in interface Buffer
buffName
- The name of the buffer in the data source.true
on success.public logical saveRowChanges(NumberType buffIndex, Text skipList)
DataSet
temp-table to the associated data source.saveRowChanges
in interface Buffer
buffIndex
- The index of the buffer in the data source.skipList
- A list of field names that should not be assigned after a new row is created
(comma-separated).true
on success.public logical saveRowChanges(Text buffName, Text skipList)
DataSet
temp-table to the associated data source.saveRowChanges
in interface Buffer
buffName
- The name of the buffer in the data source.skipList
- A list of field names that should not be assigned after a new row is created
(comma-separated).true
on success.public logical saveRowChanges(unknown buffInfo, Text skipList)
DataSet
temp-table to the associated data source.
Note: this form is used when unknown literal ?
is used to specify
the buffer. In either case, numeric or character, the meaning is the same.
saveRowChanges
in interface Buffer
buffInfo
- Unknown value.skipList
- A list of field names that should not be assigned after a new row is created
(comma-separated).true
on success.public logical saveRowChanges(NumberType buffIndex, Text skipList, logical noLobs)
DataSet
temp-table to the associated data source.saveRowChanges
in interface Buffer
buffIndex
- The index of the buffer in the data source.skipList
- A list of field names that should not be assigned after a new row is created
(comma-separated).noLobs
- Use true
to specify the BLOB and CLOB fields should be ignored in the
save operation.true
on success.public logical saveRowChanges(unknown buffInfo, Text skipList, logical noLobs)
DataSet
temp-table to the associated data source.
Note: this form is used when unknown literal ?
is used to specify
the buffer. In either case, numeric or character, the meaning is the same.
saveRowChanges
in interface Buffer
buffInfo
- Unknown value.skipList
- A list of field names that should not be assigned after a new row is created
(comma-separated).noLobs
- Use true
to specify the BLOB and CLOB fields should be ignored in the
save operation.true
on success.public logical saveRowChanges(Text buffName, Text skipList, logical noLobs)
DataSet
temp-table to the associated data source.saveRowChanges
in interface Buffer
buffName
- The name of the buffer in the data source.skipList
- A list of field names that should not be assigned after a new row is created
(comma-separated).noLobs
- Use true
to specify the BLOB and CLOB fields should be ignored in the
save operation.true
on success.public character fillMode()
DataSet.fill()
method fills a DataSet
member
buffer. The default mode is MERGE
.public void fillMode(java.lang.String mode)
DataSet.fill()
method fills a DataSet
member buffer. The allowed modes are: APPEND
, EMPTY
, MERGE
,
NO-FILL
, and REPLACE
.public void fillMode(Text mode)
DataSet.fill()
method fills a DataSet
member buffer. The allowed modes are: APPEND
, EMPTY
, MERGE
,
NO-FILL
, and REPLACE
.public logical attachDataSource(handle hds)
DataSource
object to this temp-table Buffer
in a DataSet
object.attachDataSource
in interface Buffer
hds
- The handle to the DataSource
to be attached.true
on success.public logical attachDataSource(handle hds, character pairList)
DataSource
object to this temp-table Buffer
in a DataSet
object.attachDataSource
in interface Buffer
hds
- The handle to the DataSource
to be attached.pairList
- A comma-delimited list of field name pairs that specify a mapping between different
field names in the DataSource
buffer and the DataSet
temp-table
buffer.true
on success.public logical attachDataSource(handle hds, character pairList, character exceptFields)
DataSource
object to this temp-table Buffer
in a DataSet
object.attachDataSource
in interface Buffer
hds
- The handle to the DataSource
to be attached.pairList
- A comma-delimited list of field name pairs that specify a mapping between different
field names in the DataSource
buffer and the DataSset
temp-table
buffer.exceptFields
- A comma-separated list of fields in the DataSet
object buffer that will not
be populated with data from the data source.true
on success.public logical attachDataSource(handle hds, character pairList, character exceptFields, character includeFields)
DataSource
object to this temp-table Buffer
in a DataSet
object. This method provides much of the internal definition for the FILL
. Among
other things, this method creates the FILL
query.
This Java method corresponds to ABL ATTACH-DATA-SOURCE
method with all 4 parameters.
attachDataSource
in interface Buffer
hds
- The handle to the DataSource
to be attached.pairList
- A comma-delimited list of field name pairs that specify a mapping between different
field names in the DataSource
buffer and the DataSet
temp-table buffer.exceptFields
- A comma-separated list of fields in the DataSet
object buffer that will not
be populated with data from the data source.includeFields
- A comma-separated list of fields to include in the DataSet
object buffer,
as an ALTERNATIVE to specifying fields to exclude in except-fields.true
on success.public logical detachDataSource()
DataSource
from the temp-table buffer in a DataSet
object.detachDataSource
in interface Buffer
true
on success.public handle dataSource()
DataSource
object currently attached to the DataSet
object buffer.dataSource
in interface Buffer
DATA-SOURCE
as described above.public handle afterBuffer()
afterBuffer
in interface Buffer
AFTER-BUFFER
attribute as described above.public rowid originRowid()
rowid
of the row in the original before-image table that corresponds to
the row in the change table currently associated with this buffer handle.
Implementation note:
FWD uses as a storage backing for both ORIGIN-ROWID
and DATA-SOURCE-ROWID
the same field (TempRecord._originRowid()
) exclusively.
DATA-SOURCE-ROWID
, for both BEFORE and AFTER image. In the case the
DataSource
must be also attached or an ABL error is raised. ORIGIN-ROWID
.originRowid
in interface Buffer
ORIGIN-ROWID
attribute as described above.dataSourceRowid()
public handle beforeBuffer()
beforeBuffer
in interface Buffer
BEFORE-BUFFER
attribute as described above.public character dataSourceCompleteMap()
DataSet
temp-table buffer that are mapped to corresponding fields in an attached data-source object.dataSourceCompleteMap
in interface Buffer
DATA-SOURCE-COMPLETE-MAP
attribute.public rowid dataSourceRowid()
DataSource
row corresponding to this buffer object.
Implementation note:
FWD uses as a storage backing for both ORIGIN-ROWID
and DATA-SOURCE-ROWID
the same field (TempRecord._originRowid()
) exclusively.
DATA-SOURCE-ROWID
, for both BEFORE and AFTER image. In the case the
DataSource
must be also attached or an ABL error is raised. ORIGIN-ROWID
.dataSourceRowid
in interface Buffer
DATA-SOURCE-ROWID
ABL attribute.originRowid()
public rowid dataSourceRowid(int64 joinLevel)
DataSource
row corresponding to this buffer object.dataSourceRowid
in interface Buffer
joinLevel
- The level of join, if the data-source is a join.DATA-SOURCE-ROWID
ABL attribute.public rowid dataSourceRowid(character buffName)
DataSource
row corresponding to this buffer object.dataSourceRowid
in interface Buffer
buffName
- The name of one of the data-source buffers.DATA-SOURCE-ROWID
ABL attribute.public void dataSourceRowid(rowid val)
DataSource
row corresponding to this buffer object.dataSourceRowid
in interface Buffer
val
- The new value of DATA-SOURCE-ROWID
ABL attribute.public void dataSourceRowid(int64 joinLevel, rowid val)
DataSource
row corresponding to this buffer object.dataSourceRowid
in interface Buffer
joinLevel
- The level of join, if the data-source is a join.val
- The new value of DATA-SOURCE-ROWID
ABL attribute.public void dataSourceRowid(character buffName, rowid val)
DataSource
row corresponding to this buffer object.dataSourceRowid
in interface Buffer
buffName
- The name of one of the data-source buffers.val
- The new value of DATA-SOURCE-ROWID
ABL attribute.public DataSet _dataSet()
DataSet
object of which the buffer is a member or null
otherwise.DataSet
object of which the buffer is a member.public handle dataSet()
DataSet
object of which the buffer is a member.public integer numChildRelations()
numChildRelations
in interface Buffer
NUM-CHILD-RELATIONS
attribute as described above.public handle parentRelation()
parentRelation
in interface Buffer
PARENT-RELATION
attribute as described above.public logical markNew()
ROW-STATE
of
ROW-CREATED
for a table with only new data.public logical markRowState(int64 newState)
ROW-STATE
attribute for the current record/row.markRowState
in interface Buffer
newState
- The new state the record is marked with. Legal values: ROW_CREATED
,
ROW_MODIFIED
, ROW_DELETED
, and ROW_UNMODIFIED
.true
on success.public logical markRowState(long newState)
ROW-STATE
attribute for the current record/row.markRowState
in interface Buffer
newState
- The new state the record is marked with. Legal values: ROW_CREATED
,
ROW_MODIFIED
, ROW_DELETED
, and ROW_UNMODIFIED
.true
on success.public logical markRowState(int64 newState, handle before)
ROW-STATE
attribute for the current record/row.markRowState
in interface Buffer
newState
- The new state the record is marked with. Legal values: ROW_CREATED
,
ROW_MODIFIED
, ROW_DELETED
, and ROW_UNMODIFIED
.before
- A handle to the before-image source buffer.true
on success.public logical markRowState(long newState, handle compareTo)
ROW-STATE
attribute for the current record/row.markRowState
in interface Buffer
newState
- The new state the record is marked with. Legal values: ROW_CREATED
,
ROW_MODIFIED
, ROW_DELETED
, and ROW_UNMODIFIED
.compareTo
- A handle to the before-image source buffer - used to compare to current data.true
on success.public handle childRelation(long index)
DataRelation
object for which the buffer is the parent.childRelation
in interface Buffer
index
- The index of the data-relation object (1-based).DataRelation
object for which the buffer is the parent.public handle childRelation(int64 index)
DataRelation
object for which the buffer is the parent.childRelation
in interface Buffer
index
- The index of the data-relation object (1-based).DataRelation
object for which the buffer is the parent.public character attachedPairlist()
DataSet
temp-table buffer that are mapped to corresponding fields in an attached DataSource
object. This list includes only the field name pairs you specified with the most recently
attached data-source object, in the order they were specified.attachedPairlist
in interface Buffer
public logical rejected()
rejected
in interface Rejectable
public void rejected(boolean value)
rejected
in interface Rejectable
value
- The new value of REJECTED attribute.public void rejected(logical value)
rejected
in interface Rejectable
value
- The new value of REJECTED attribute.public logical fill()
Buffer
object, recursively, based on its defined data sources.private void assign(java.lang.String myField, DataSource.FieldReference df, BufferImpl srcBuffer)
srcBuffer.df
to field f
of this buffer. Takes care of the extents.myField
- The destination field of this buffer.df
- The source field.srcBuffer
- The source buffer.public logical applyCallback(java.lang.String eventName)
applyCallback
in interface CallbackProcedure
eventName
- The event whose callback will be called.true
if operation is successful.public character getCallbackProcName(java.lang.String eventName)
getCallbackProcName
in interface CallbackProcedure
eventName
- The name of the event.public handle getCallbackProcContext(java.lang.String eventName)
getCallbackProcContext
in interface CallbackProcedure
eventName
- The name of the event.public logical setCallbackProcedure(java.lang.String eventName, java.lang.String callback, handle context)
setCallbackProcedure
in interface CallbackProcedure
eventName
- The eventName of the event.callback
- The eventName of the internal procedure associated with the callback event.context
- A handle to a procedure that contains the internal procedure specified by
callback
. If not specified, THIS-PROCEDURE
is used as the procedure
context.true
when the method ends with success.public logical setCallback(java.lang.String callbackName, java.lang.String routineName, object<?> context)
setCallback
in interface CallbackProcedure
callbackName
- The name of a callback.routineName
- The name of a method or an internal procedure to be associated.context
- The context in which the callback will be executed.true
if operation is successful and false
if the parameters are invalid.public logical getChanges(handle original)
TempTable
) object with changed rows from original (source)
object. This can be either the BEFORE or the AFTER buffer. If the BEFORE/AFTER temp-tables
are already populated, they are emptied before copying the changes.getChanges
in interface DataSetChangeable
original
- Handle to original object DataSet
buffer (BEFORE or AFTER buffer) that
contains the changed rows to load into the target object.true
if operation is successful.public logical getChanges(handle original, logical parentMode)
DataSet
or TempTable
) object with changed rows from
original (source) object.getChanges
in interface DataSetChangeable
original
- Handle to original object (DataSet
or TempTable
) that contains the
changed rows to load into the target object.parentMode
- When TRUE
the target gets the changed parent rows of each changed child row.true
if operation is successful.public logical getChanges(handle original, boolean parentMode)
DataSet
or TempTable
) object with changed rows from
original (source) object.getChanges
in interface DataSetChangeable
original
- Handle to original object (DataSet
or TempTable
) that contains the
changed rows to load into the target object.parentMode
- When TRUE
the target gets the changed parent rows of each changed child row.true
if operation is successful.public logical mergeRowChanges()
DataSet
object loaded
with the GET-CHANGES()
method into the corresponding rows of a single temp-table
into the original (target) DataSet
buffer.mergeRowChanges
in interface Buffer
true
if operation is successful.public logical mergeRowChanges(handle original)
DataSet
object loaded
with the GET-CHANGES()
method into the corresponding rows of a single temp-table
into the original (target) DataSet
buffer.mergeRowChanges
in interface Buffer
original
- A handle to the original (target) buffer object of a single target DataSet
temp-table to merge with the changed rows from the source object.true
if operation is successful.public logical mergeRowChanges(handle original, boolean allCopyMode)
DataSet
object loaded
with the GET-CHANGES()
method into the corresponding rows of a single temp-table
into the original (target) DataSet
buffer.mergeRowChanges
in interface Buffer
original
- A handle to the original (target) buffer object of a single target DataSet
temp-table to merge with the changed rows from the source object.allCopyMode
- Use TRUE
to indicates that all rows of the source after-image table must be
merged.true
if operation is successful.public logical mergeRowChanges(handle original, logical allCopyMode)
DataSet
object loaded
with the GET-CHANGES()
method into the corresponding rows of a single temp-table
into the original (target) DataSet
buffer.mergeRowChanges
in interface Buffer
original
- A handle to the original (target) buffer object of a single target DataSet
temp-table to merge with the changed rows from the source object.allCopyMode
- Use TRUE
to indicates that all rows of the source after-image table must be
merged.true
if operation is successful.public logical mergeChanges(handle original)
DataSet
object loaded with the GET-CHANGES()
method into the corresponding
rows of all temp-tables or a single temp-table (respectively) in the original (target)
DataSet
object.mergeChanges
in interface DataSetChangeable
original
- A handle to the original (target) DataSet
object or the buffer object of a
single target DataSet
temp-table to merge with the changed rows from the
source object.true
if operation is successful.public logical mergeChanges(handle original, logical allCopyMode)
DataSet
object loaded with the GET-CHANGES()
method into the corresponding
rows of all temp-tables or a single temp-table (respectively) in the original (target)
DataSet
object.mergeChanges
in interface DataSetChangeable
original
- A handle to the original (target) DataSet
object or the buffer object of a
single target DataSet
temp-table to merge with the changed rows from the
source object.allCopyMode
- Use TRUE
to indicates that all rows of the source after-image table must be
merged.true
if operation is successful.public logical mergeChanges(handle original, boolean allCopyMode)
DataSet
object
loaded with the GET-CHANGES()
method into the corresponding rows of all temp-tables or a single
temp-table (respectively) in the original (target) DataSet
object.mergeChanges
in interface DataSetChangeable
original
- A handle to the original (target) DataSet
object or the buffer object of a single
target DataSet
temp-table to merge with the changed rows from the source object.allCopyMode
- Use TRUE
to indicates that all rows of the source after-image table must be merged.true
if operation is successful.public logical acceptChanges()
DataSet
).acceptChanges
in interface DataSetChangeable
true
if operation is successful.public logical rejectChanges()
DataSet
).rejectChanges
in interface DataSetChangeable
true
if operation is successful.protected boolean hasField(java.lang.String legFieldName)
legFieldName
.legFieldName
- The legacy field name to be tested.true
if the buffer has a legacy field as specified.protected boolean hasFieldEx(java.lang.String legFieldName)
legFieldName
.
Unlike the #hasField
method, this method will validate the field names that also
contain the buffer name as qualification.legFieldName
- The field name to be tested.true
if the buffer has a legacy field as specified.protected void setQuery(handle qry)
qry
- The query to associate.protected void setDataSet(DataSet ds)
ds
- The new parent DataSet
.public void setUpBeforeBuffer(boolean on)
RecordBuffer
.on
- true
to activate bracket, false
to end it and activate errors.public boolean hasBeforeBufferConstraints()
false
when setUpBeforeBuffer
is set.public boolean isBeforeBuffer()
BEFORE-BUFFER
of a dataset.true
if this is a BEFORE-BUFFER
of a dataset.public boolean isAfterBuffer()
AFTER-BUFFER
of a dataset.true
if this is a AFTER-BUFFER
of a dataset.public java.lang.String tableDefinition()
void computeBufferType()
AFTER
or a BEFORE
the
peer (complementary) buffer is also stored in peerBuffer
.boolean invokeCallback(java.lang.String event)
event
- Event name.false
if the callback raised an error. If the callback does not exist or ended with
success true
is returned.protected void doSetName(java.lang.String name)
name
- Name to set.public java.lang.String doGetName()
NAME
attribute as java string.NAME
attribute as a java string. null
if NAME
is unknown
.protected boolean overrideName(java.lang.String newName)
newName
- The new name which should be temporarily used by this Buffer.protected void restoreName()
protected boolean hasNextSibling()
true
. The chain is one-directional,
starting at SESSION:FIRST-BUFFER.
Only the dynamic()
buffers are stored in the chain. The method will return false for
static buffers.
hasNextSibling
in class HandleChain
true
only for dynamic buffers.protected boolean hasPrevSibling()
false
. The buffers chain is
one-directional, starting at SESSION:FIRST-BUFFER. There is no LAST-BUFFER attribute
associated with the SESSION handle.hasPrevSibling
in class HandleChain
false
.protected void interlink()
BUFFERs use special order: TEMP-TABLES (static and dynamic in the order they are added) first, then PERMANENT buffers at the end of the list.
interlink
in class HandleChain
protected boolean resourceDelete()
resourceDelete
in class HandleResource
true
if the resource was deleted.protected boolean checkExtentRange(int index, int max)
0 ≤ index < max
.
Raise an error if not, unless errors are silenced.
This method is meant to be called by DMO proxy objects which extend this class, from
within their indexed setter and getter methods which accept an int
value for the
element index.
index
- Zero-based extent field index to check.max
- Maximum number of elements in the extent field.true
if index
falls within the valid range,
false
if outside the range and errors are silenced.ErrorConditionException
- if index
is outside the valid range and errors are not silenced.protected void outOfBoundsError(int index)
index
- Zero-based subscript value.protected logical deleteRecord(boolean validated)
validated
- true
if there was validation and it passed. false
if
there was no validation.true
if the delete was possible.ErrorConditionException
- if no record currently is loaded in the buffer, or if there is
an error deleting the current record from the database.private static boolean isCallbackName(java.lang.String someName)
DataSet
s. This method is
responsible of raising the 11950 error if the name specified is unknown or nor not a name
of a known callback for DataSet
.someName
- The name to test.true
only if someName
is equals to "BEFORE-FILL", "AFTER-FILL",
"BEFORE-ROW-FILL", "AFTER-ROW-FILL", "ROW-CREATE", "ROW-DELETE", "ROW-UPDATE",
"FIND-FAILED", or "SYNCHRONIZE", in ignore-case mode.private static LockType fromLockNowait(long lock, long nowait) throws ErrorConditionException
LockType
instance for the given internal lock and nowait with corresponding
error processing.lock
- Integer value.nowait
- Integer value.LockType
instance.ErrorConditionException
- If locking operation fails.private void resolveBufferFields()
private boolean serializeRowImpl(java.lang.String format, TargetData targetData, java.lang.Boolean formatted, java.lang.String encoding, java.lang.Boolean omitInitial, java.lang.Boolean omitOuter)
format
- The format ("xml" or "json").targetData
- Data target.formatted
- True
to format the data for making it more readable; false
to write it
as unformatted text. Unknown value is treated as false
.encoding
- Name of the character encoding to use.omitInitial
- True
to omit data for fields whose values match their initial values.omitOuter
- True
to omit data for the outermost object from the output.True
if the operation completed successfully, else false
.int _numFields()
logical _find(java.lang.String predicate, BufferImpl.FindMode mode, LockType lock, Buffer... substBuffers)
If the method fails, it does not raise an error but displays a message. To suppress it, the method should be called with NO-ERROR clause.
predicate
- Predicate expression for find that evaluates to the following syntax:
[ WHERE [ logical-expression ] ] [ USE-INDEX index-name ]
mode
- Search mode, one of FIRST, LAST or UNIQUE.lock
- Lock type. May additionally have no-wait flag set.substBuffers
- A list of substitution buffers.true
if operation succeeds, else false
.private logical _current(LockType lockType)
lockType
- Exetnded lock type (includes the NO-WAIT status).true
if FIND-CURRENT() succeeds (the lock type is changed), else
false
.private boolean mergeChangesImpl(BufferImpl porigBuf, boolean allCopyMode)
porigBuf
- The original AFTER buffer.allCopyMode
- Use true
to indicates that all rows of the source after-image table must be
merged.true
on success. When false
is returned the error code was already
configured in ErrorManager
.private static boolean mergeRowChangesImpl(BufferImpl changesBuf, BufferImpl origAfterBuf)
changesBuf
- The changes AFTER buffer.origAfterBuf
- The original AFTER buffer.true
on success. When false
is returned the error code was already
configured in ErrorManager
.private void setOriginRowidImpl(java.lang.Long val)
_originRowid
internal field and register the change with the ChangeBroker
to
make sure the change is persisted.val
- The new value for _originRowid
field. May be null
for an unknown.private void setDatasourceRowidImpl(java.lang.Long val)
_dataSourceRowid
internal field and register the change with the ChangeBroker
to make sure the change is persisted.val
- The new value for _dataSourceRowid
field. May be null
for an unknown.private logical saveRowChangesImpl(int bufNo, java.lang.String skip, boolean noLobs)
SAVE-ROW-CHANGES
method. Validates some parameters and
calls the final worker.bufNo
- The 0-base buffer index in the attached DataSource
.skip
- A list of field names that should not be assigned after a new row is created
(comma-separated).noLobs
- Use true
to specify the BLOB and CLOB fields should be ignored in the save
operation.true
if operation is successful.private logical saveRowChangesImpl(java.lang.String bufName, java.lang.String skip, boolean noLobs)
SAVE-ROW-CHANGES
method. Validates some parameters and
calls the final worker.bufName
- The buffer name in the attached DataSource
.skip
- A list of field names that should not be assigned after a new row is created
(comma-separated).noLobs
- Use true
to specify the BLOB and CLOB fields should be ignored in the save
operation.true
if operation is successful.private logical saveRowChangesImpl2(DataSource dSrc, BufferImpl after, int bufNo, java.lang.String skip, boolean noLobs)
SAVE-ROW-CHANGES
method.dSrc
- The DataSource
that will be updated.after
- The AFTER-BUFFER to which the DataSource
is attached.bufNo
- The 0-base buffer index in the attached DataSource
.skip
- A list of field names that should not be assigned after a new row is created
(comma-separated).noLobs
- Use true
to specify the BLOB and CLOB fields should be ignored in the save
operation.true
if operation is successful.private void setErrorOnSave()
ERROR
attribute to true
after a failed SAVE-ROW operation.
Affected entities are:
The attribute is not set to FALSE on a successful SAVE operation, the programmer must do this by hand.
private java.util.Map<java.lang.String,BaseDataType[]> readValues(java.util.List<TableMapper.LegacyFieldInfo> fields, java.util.Map<java.lang.String,java.lang.Integer> extents, java.io.ObjectInputStream ois)
fields
- Record fieldsextents
- Record extentsois
- Source streamnull
if failed.