public class DataSet extends HandleChain implements ADMData, BufferCollection, CallbackProcedure, Clearable, CreateLike, DataSetChangeable, DataSetInterface, DataSourceModifiable, Dereferenceable, DynamicResource, Errorable, Fillable, JsonData, NamedSerializable, NamespaceURI, Rejectable, RefCounter, SerializeHiddenable, TempTableDuplicator, UniqueID, XmlData, XmlNode
DataSet objects are collections of one or more related temp-tables. Each temp-table of
these can attach to a DataSource object that allows filling of the temp-table from the
data source, or updating the data source from the temp-table. A DataSet object can
optionally contain a set of data relations between the temp-tables.| Modifier and Type | Class and Description |
|---|---|
static class |
DataSet.Builder
Builder class that helps construct a
DataSet object statically, that is, using the
DEFINE DATASET statement. |
static class |
DataSet.FieldPair
Container immutable class that abstracts a field mapping between the parent and child
tables/buffers in a data relation.
|
| Modifier and Type | Field and Description |
|---|---|
private java.lang.String |
admData
The value of
ADM-DATA ABL attribute. |
private static InvokeConfig |
AFTER_FILL_CALL_SITE
The call-site for the
AFTER_FILL_EVENT event callback. |
static java.lang.String |
AFTER_FILL_EVENT
The
AFTER-FILL event string constant in upper case. |
private static InvokeConfig |
BEFORE_FILL_CALL_SITE
The call-site for the
BEFORE_FILL_EVENT event callback. |
static java.lang.String |
BEFORE_FILL_EVENT
The
BEFORE-FILL event string constant in upper case. |
private java.util.ArrayList<BufferImpl> |
buffers
The ordered list of buffers contained in this
DataSet. |
private boolean |
buildInProgress
Flags the short period of time when the
Builder constructs the object. |
private java.util.Map<java.lang.String,CallbackData> |
callbacks
A map with all known callbacks.
|
private boolean |
dataSourceModified
Current value of the
DATA-SOURCE-MODIFIED attribute. |
private boolean |
defaultActive
The default value for active attribute for first
DataRelation. |
private boolean |
deleted
Marks the valid objects.
|
private java.util.Set<QueryWrapper> |
deleteQueries
The set of queries created by this dataset which need to be cleaned.
|
private static NanoTimer |
DYN_PARAM
|
private boolean |
dynamic
Flags the dynamically constructed objects (using
CREATE as opposed to statically
defined objects, with DEFINE). |
private boolean |
error
The current value of boolean
ERROR attribute: indicates whether an error occurred
during a FILL or SAVE-ROW-CHANGES operation, but can also be altered
programmatically (writable). |
private static boolean |
fullDebugString
Flag for debugging level.
|
private static CentralLogger |
log
Logger for objects of this type.
|
private java.lang.String |
name
The current value of
NAME attribute. |
private java.lang.String |
nsPrefix
The namespace prefix of this
DataSet. |
private java.lang.String |
nsUri
The value of
NAMESPACE-URI attribute of this DataSet. |
private java.util.Set<DataSetParameter> |
outputParams
Destination
DataSet parameters for output copy if necessary before scope closes. |
private boolean |
postponedDelete
Flag indicating the delete was explicitly called for a BY-REFERENCE handle.
|
private java.util.Map<BufferImpl,BufferImpl> |
proxies
The original proxy object associated with the buffers contained in this
DataSet. |
private StaticDataSet |
proxyDataSet
Back-reference to the defining static dataset proxy.
|
protected boolean |
referenceOnly
Flags the
REFERENCE-ONLY DataSets. |
private java.util.Set<StaticDataSet> |
refs
The list of references of this object.
|
private boolean |
rejected
The current value of boolean
REJECTED attribute: indicates whether a change to the
data of this DataSet is rejected. |
private java.util.ArrayList<DataRelation> |
relations
The list of
DataRelation s from this data set. |
private boolean |
reuseFillQuery
Flag indicating that the fill query for buffers can be re-used.
|
private boolean |
serializeHidden
Flags a hidden (name is not written)
DataSet when serialized. |
private java.lang.String |
serializeName
The serialization name of this
DataSet. |
private static NanoTimer |
STATIC_PARAM
|
private java.util.Map<BufferImpl,QueryWrapper> |
topNavQueries
The current set of
TOP-NAV-QUERY values mapped by their buffers. |
private java.lang.Long |
uuid
Corresponds to UNIQUE-ID attribute.
|
private java.lang.String |
xmlNodeName
The name of the XML node for serialized data of this
DataSet. |
nextSibling, prevSibling, wainstProc, pm| Constructor and Description |
|---|
DataSet()
Constructor to allow building a dataset with no linkage (used for the case of the surrogate
resource
StaticDataSet, which delegates the calls to either the default dataset
or the bound dataset. |
DataSet(java.lang.String legacyName,
boolean dynamic,
boolean referenceOnly)
Initialize this resource by determining its type.
|
| Modifier and Type | Method and Description |
|---|---|
(package private) boolean |
_areRelationsActive()
Checks whether AT LEAST one data-relation objects in this
DataSet
object is active. |
boolean |
_dynamic()
Returns
true if the buffer is dynamic. |
int |
_getNumTopBuffers()
Obtain the number of top-level buffers in this
DataSet object. |
java.lang.String |
_name()
Get the
name attribute of handle as a string. |
private void |
_setTopBufferQuery(handle queryHandle,
BufferImpl topBuffer)
Low level implementation of
TOP-NAV-QUERY method. |
logical |
acceptChanges()
Accepts changes to the data in target object (a temp-table or all temp-tables in a
DataSet). |
logical |
addBuffer(Buffer buf)
Adds one new buffer to a query object or dynamic
DataSet object, without affecting
the other buffers, if any. |
logical |
addBuffer(character bufName)
Adds one new buffer to a query object or dynamic
DataSet object, without affecting
the other buffers, if any. |
logical |
addBuffer(handle bufHandle)
Adds one new buffer to a query object or dynamic
DataSet object, without affecting
the other buffers, if any. |
logical |
addBuffer(java.lang.String bufName)
Adds one new buffer to a query object or dynamic
DataSet object, without affecting
the other buffers, if any. |
protected void |
addOutputParam(DataSetParameter dsParam)
Register an output dataset parameter.
|
handle |
addParentIdRelation(handle parent,
handle child)
Creates a new data-relation object for a pair of parent and child buffers of this
DataSet based
on the RECID of the parent buffer to this DataSet object. |
handle |
addParentIdRelation(handle parent,
handle child,
Text parentIdField)
Creates a new data-relation object for a pair of parent and child buffers of this
DataSet based
on the RECID of the parent buffer to this DataSet object. |
handle |
addParentIdRelation(handle parent,
handle child,
Text parentIdField,
Text parentFieldsBefore)
Creates a new data-relation object for a pair of parent and child buffers of this
DataSet based
on the RECID of the parent buffer to this DataSet object. |
handle |
addParentIdRelation(handle parent,
handle child,
Text parentIdField,
Text parentFieldsBefore,
Text parentFieldsAfter)
Creates a new data-relation object for a pair of parent and child buffers of this
DataSet based
on the RECID of the parent buffer to this DataSet object. |
(package private) void |
addReference(StaticDataSet staticDataSet)
Adds a new reference to this dataset.
|
handle |
addRelation(handle parent,
handle child,
Text pairs)
Creates a new data-relation object for a pair of parent and child buffers of this
DataSet
object. |
handle |
addRelation(handle parent,
handle child,
Text pairs,
logical reposition)
Creates a new data-relation object for a pair of parent and child buffers of this
DataSet
object. |
handle |
addRelation(handle parent,
handle child,
Text pairs,
logical reposition,
logical nested)
Creates a new data-relation object for a pair of parent and child buffers of this
DataSet
object. |
handle |
addRelation(handle parent,
handle child,
Text pairs,
logical reposition,
logical nested,
logical active)
Creates a new data-relation object for a pair of parent and child buffers of this
DataSet
object. |
handle |
addRelation(handle parent,
handle child,
Text pairs,
logical reposition,
logical nested,
logical active,
logical recursive)
Creates a new data-relation object for a pair of parent and child buffers of this
DataSet
object. |
handle |
addRelation(handle parent,
handle child,
Text pairs,
logical reposition,
logical nested,
logical active,
logical recursive,
logical fkeyHidden)
Creates a new data-relation object for a pair of parent and child buffers of this
DataSet
object. |
handle |
addRelationImpl(handle parent,
handle child,
Text pairs,
logical reposition,
logical nested,
logical active,
logical recursive,
logical fkeyHidden,
boolean nullOnDuplicate)
Actual implementation of
addRelation. |
private handle |
addRelationWorker(java.lang.String relName,
Buffer parent,
Buffer child,
java.lang.String[] fields,
java.lang.String strPairs,
boolean reposition,
boolean nested,
boolean active,
boolean recursive,
boolean fkeyHidden,
boolean dynamic)
Adds a data-relation object for a pair of parent and child buffers to this
DataSet object. |
boolean |
allowDelete(handle ref,
boolean explicit)
Check if the resource can veto the delete or not, before attempting the
HandleChain.delete() call. |
protected DataRelation |
allowsActiveChild(Buffer childBuffer)
Checks whether a buffer can be at this moment the child side in a relation of this
DataSet. |
logical |
applyCallback(java.lang.String eventName)
Applies a callback procedure, which allows execution of a defined event without duplicating
the event procedure definition.
|
logical |
areRelationsActive()
Checks whether AT LEAST one data-relation objects in this
DataSet object is
active. |
handle |
asHandle()
Convert this dataset to a handle.
|
static void |
associate(DataSetParameter dsLocal,
DataSet dsTarget)
Associate two
DataSet with one another, such that all relevant records can be copied
between them at prescribed times. |
static void |
associate(DataSetParameter dsLocal,
DataSet dsTarget,
boolean input,
boolean output)
Associate two
DataSet with one another, such that all relevant records can be copied
between them at prescribed times. |
static void |
associate(DataSetParameter dsSrc,
DataSet dsTarget,
boolean input,
boolean output,
java.util.EnumSet<ParameterOption> options)
Associate two
DataSet with one another, such that all relevant records can be copied
between them at prescribed times. |
static void |
associate(DataSetParameter dsSrc,
DataSet dsTarget,
boolean input,
boolean output,
ParameterOption option)
Associate two
DataSet with one another, such that all relevant records can be copied
between them at prescribed times. |
static void |
associate(DataSetParameter dsSrc,
DataSet dsTarget,
java.util.EnumSet<ParameterOption> options)
Associate two
DataSet with one another, such that all relevant records can be copied
between them at prescribed times. |
static void |
associate(DataSetParameter dsSrc,
DataSet dsTarget,
ParameterOption option)
Associate two
DataSet with one another, such that all relevant records can be copied
between them at prescribed times. |
private static void |
associateImpl(DataSetParameter dsSrc,
DataSet dsTarget,
java.util.EnumSet<ParameterOption> options)
Associate two
DataSet with one another, such that all relevant records can be copied
between them at prescribed times. |
handle |
bufferHandle()
Obtain the handle to a particular buffer of this
DataSet. |
handle |
bufferHandle(character buffName)
Obtain the handle to a particular buffer of this
DataSet. |
handle |
bufferHandle(int bufIndex)
Obtain the handle to a particular buffer of this
DataSet. |
handle |
bufferHandle(int64 bufIndex)
Obtain the handle to a particular buffer of this
DataSet. |
handle |
bufferHandle(java.lang.String buffName)
Obtain the handle to a particular buffer of this
DataSet. |
logical |
clear()
Returns the resource to it's clear state.
|
private void |
clearImpl(boolean delete,
boolean resetProperties)
Clears the dataset.
|
logical |
copyDataset(handle srcDS)
Copies a source
DataSet object into this DataSet object. |
logical |
copyDataset(handle srcDS,
logical append)
Copies a source
DataSet object into this DataSet object. |
logical |
copyDataset(handle srcDS,
logical append,
logical replace)
Copies a source
DataSet object into this DataSet object. |
logical |
copyDataset(handle srcDS,
logical append,
logical replace,
logical looseCopy)
Copies a source
DataSet object into this DataSet object. |
logical |
copyDataset(handle srcDS,
logical append,
logical replace,
logical looseCopy,
Text pairList)
Copies a source
DataSet object into this DataSet object. |
logical |
copyDataset(handle srcDS,
logical append,
logical replace,
logical looseCopy,
Text pairList,
logical currentOnly)
Copies a source
DataSet object into this DataSet object. |
logical |
copyDataset(handle srcDS,
logical append,
logical replace,
logical looseCopy,
Text pairList,
logical currentOnly,
Text prefix)
Copies a source
DataSet object into this DataSet object. |
protected logical |
copyDatasetImpl(handle hSrcDS,
boolean append,
boolean replace,
boolean looseCopy,
java.lang.String pairList,
boolean currentOnly,
java.lang.String prefix)
The implementation of
COPY-DATASET method. |
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.
|
private static void |
copyTempTableOptions(AbstractTempTable src,
AbstractTempTable dst)
Copy the temp-table options from the source to the destination.
|
static void |
create(handle dsHandle)
Factory method.
|
static void |
create(handle dsHandle,
character widgetPool)
Factory method.
|
static void |
create(handle dsHandle,
java.lang.String widgetPool)
Factory method.
|
static void |
createDynamicDataSet(DataSetParameter dsParam,
handle dsHandle)
Dynamically create a
DataSet from the DataSetParameter provided. |
static void |
createDynamicDataSet(DataSetParameter dsParam,
handle dsHandle,
boolean input,
boolean output)
Dynamically create a
DataSet from the DataSetParameter provided. |
static void |
createDynamicDataSet(DataSetParameter dsParam,
handle dsHandle,
boolean input,
boolean output,
ParameterOption option)
Dynamically create a
DataSet from the DataSetParameter provided. |
static void |
createDynamicDataSet(DataSetParameter dsParam,
handle dsHandle,
ParameterOption option)
Dynamically create a
DataSet from the DataSetParameter provided. |
private static void |
createDynamicDataSetImpl(DataSetParameter dsParam,
handle dsHandle,
ParameterOption option)
Dynamically create a
DataSet from the DataSetParameter provided. |
logical |
createLike(character dsName)
Duplicates the structure of an existing
DataSet, copying its entire structure. |
logical |
createLike(character dsName,
character prefix)
Duplicates the structure of an existing
DataSet, copying its entire structure. |
logical |
createLike(handle hds)
Duplicates the structure of an existing
DataSet, copying its entire structure. |
logical |
createLike(handle hds,
character prefix)
Duplicates the structure of an existing
DataSet, copying its entire structure. |
logical |
createLike(handle hds,
java.lang.String prefix)
Duplicates the structure of an existing
DataSet, copying its entire structure. |
logical |
createLike(java.lang.String dsName)
Duplicates the structure of an existing
DataSet, copying its entire structure. |
logical |
createLike(java.lang.String dsName,
java.lang.String prefix)
Duplicates the structure of an existing
DataSet, copying its entire structure. |
private logical |
createLikeImpl(DataSet sourceDS,
java.lang.String prefix)
Actual implementation of
CREATE-LIKE method. |
<T extends BaseDataType> |
dereference(java.lang.Class<T> type,
java.lang.String memberName)
Dereference a named member from this collection.
|
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.
|
java.lang.Object |
derefPoly(java.lang.String memberName)
Emitted for
:: operator used as r-value in a dynamic extent assignment, as the conversion
rules doesn't know if the target field is extent or scalar. |
logical |
emptyDataset()
Empties this
DataSet object of all records in its associated temp-tables. |
logical |
error()
Returns the state of the ERROR attribute
|
void |
error(boolean value)
Setter for ERROR attribute.
|
void |
error(logical value)
Setter for ERROR attribute.
|
logical |
fill()
Fills a
DataSet object, recursively, based on its defined data sources, data
relations, and queries. |
character |
fillMode()
Obtain the mode in which the
fill() method fills a DataSet member buffer. |
void |
fillMode(java.lang.String mode)
Configures the mode in which the
fill() method fills a DataSet member buffer. |
void |
fillMode(Text mode)
Configures the mode in which the
fill() method fills a DataSet member buffer. |
private void |
finishBuild()
Declares this static
DataSet as build. |
private boolean |
flushAllBuffers()
Flush all buffers (including secondary buffers and associated before-buffers) used in this dataset.
|
character |
getADMData()
Get the value of the ADM-DATA attribute.
|
BufferImpl |
getBufferByIndex(int bufIndex)
Lookup a buffer by its index.
|
BufferImpl |
getBufferByName(java.lang.String name)
Lookup a buffer by its name.
|
BufferImpl |
getBufferBySerializeName(java.lang.String serializeName)
Lookup a buffer by its serialize-name.
|
java.util.List<BufferImpl> |
getBuffers()
Get the list of
buffers for the runtime instance of this resource. |
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.
|
private static InvokeConfig |
getCallSite(java.lang.String eventName)
Get the
callsite for the specified event. |
logical |
getChanges(handle original)
Loads the empty target (
DataSet or 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. |
private java.lang.String |
getDataAsJson()
Get the JSON representation of data of this DATASET.
|
int |
getIndexOf(BufferImpl buffer)
Searches whether a buffer is part of the dataset.
|
handle |
getNextSibling()
Get the
NEXT-SIBLING attribute of this DataSet. |
java.lang.String |
getNsUri()
Returns the value of the the NAMESPACE-URI attribute as String.
|
integer |
getNumRelations()
Get the number of data-relation objects of this
DataSet object. |
integer |
getNumTopBuffers()
Obtain the number of top-level buffers in this
DataSet object. |
handle |
getPrevSibling()
Get the
PREV-SIBLING attribute of this DataSet. |
StaticDataSet |
getProxyDataSet()
Get the defining
proxyDataSet; |
handle |
getRelation()
Gets the handle of the specified data-relation object.
|
java.util.Optional<DataRelation> |
getRelation(Buffer buffer)
Query the relation by its buffer.
|
handle |
getRelation(long index)
Gets the handle of the specified data-relation object.
|
handle |
getRelation(NumberType index)
Gets the handle of the specified data-relation object.
|
handle |
getRelation(java.lang.String name)
Gets the handle of the specified data-relation object.
|
handle |
getRelation(Text name)
Gets the handle of the specified data-relation object.
|
DataRelation |
getRelationNative()
Gets the handle of the specified data-relation object.
|
DataRelation |
getRelationNative(long index)
Gets the handle of the specified data-relation object.
|
java.util.stream.Stream<DataRelation> |
getRelations()
Get relations as stream.
|
java.util.ArrayList<DataRelation> |
getRelations(Buffer buffer,
boolean parent,
boolean child,
boolean active)
Queries the list of
DataRelation s for a buffer. |
private java.lang.String |
getSchema()
Obtain a short description of the dataset structure: buffers and relations between them.
|
logical |
getSerializeHidden()
Checks whether fields are written when the temp-table is serialized, for example into
JSON or XML.
|
character |
getSerializeName()
Implementation of the read access of the
SERIALIZE-NAME attribute. |
private java.lang.String |
getSqlData()
Get the SQL representation of data of this DATASET.
|
handle |
getTopBuffer()
Gets the top-level buffer of this
DataSet object at the specified index position. |
handle |
getTopBuffer(long index)
Gets the top-level buffer of this
DataSet object at the specified index position. |
handle |
getTopBuffer(NumberType index)
Gets the top-level buffer of this
DataSet object at the specified index position. |
private java.util.List<Buffer> |
getTopBufferList()
Obtain the list of top-buffers.
|
BufferImpl |
getTopBufferNative(long index)
Gets the top-level buffer of this
DataSet object at the specified index position. |
handle |
getTopNavQuery()
Obtain default navigation query for a top-level buffer of this
DataSet object. |
private handle |
getTopNavQuery(BufferImpl buffer)
Obtain the current
TOP-NAV-QUERY for a specified buffer. |
handle |
getTopNavQuery(long index)
Obtain default navigation query for a top-level buffer of this
DataSet object. |
handle |
getTopNavQuery(NumberType index)
Obtain default navigation query for a top-level buffer of this
DataSet object. |
handle |
getTopNavQuery(java.lang.String bufName)
Obtain default navigation query for a top-level buffer of this
DataSet object. |
handle |
getTopNavQuery(Text bufName)
Obtain default navigation query for a top-level buffer of this
DataSet object. |
integer |
getUniqueID()
Obtain an integer values that uniques identifies this resource.
|
character |
getXmlDataType()
Obtain the XML Schema data type for the buffer-field object.
|
character |
getXmlNodeName()
Obtain the name of the XML element or attribute representing the target object (a
DataSet) name in an XML document. |
java.lang.String |
getXmlNodeNameInternal()
Obtain the name of the XML element or attribute representing the target object.
|
character |
getXmlNodeType()
Obtain the XML node type of this object.
|
protected boolean |
hasNameConstraints()
Allows each resource to declare whether it has some naming constraints.
|
private static void |
invalidTopNavQuery(int errCode,
java.lang.String bufName)
Notifies the user about an attempt to set an invalid value for
TOP-NAV-QUERY attribute. |
protected boolean |
invokeCallback(handle self,
CallbackData cbd)
Invokes a callback procedure or a callback method.
|
private boolean |
isAlterable()
Checks whether this object can be altered (added buffers and relations).
|
protected boolean |
isBound()
Checks if this
REFERENCE-ONLY DataSet was bound to a real DataSet. |
private static boolean |
isCallbackName(java.lang.String someName)
Test whether a string is a valid CALLBACK name for
DataSets. |
protected boolean |
isCompatibleWith(DataSet other)
Test the compatibility of two datasets.
|
logical |
isDataSourceModified()
Checks whether the data in the data source has been modified.
|
protected boolean |
isPostponedDelete()
Check if this dataset was attempted to be deleted, but was postponed because of the handle
being a DATASET-HANDLE BY-REFERENCE.
|
(package private) boolean |
isReuseFillQuery()
Check if the buffer's fill query can be
re-used. |
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. |
character |
name()
Get the
name attribute of handle. |
void |
name(character name)
Sets the name of this handle.
|
void |
name(java.lang.String name)
Sets the
name attribute of the object referred by this handle. |
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.
|
integer |
numBuffers()
Obtain the number of buffers in this
DataSet. |
integer |
numReferences()
Obtain number of references to a
Buffer, DataSet, or TempTable
object that is defined as a parameter to which reference-only objects are bound. |
protected void |
performOutputCopy(DataSetParameter outputParam)
Copy output data for the linked
DataSet parameter, if any. |
private static int |
positionOf(BufferImpl[] buffers,
BufferImpl item)
Locates a
BufferImpl in an array of objects of same type. |
private static void |
readFromXml(java.lang.String xmlDataset,
boolean append,
handle ds)
Read the DATASET from XML.
|
logical |
readJson(SourceData source)
Implementation of the READ-JSON method.
|
logical |
readJson(SourceData source,
character readMode)
Implementation of the READ-JSON method.
|
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 strMapping,
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
DataSet or TempTable or verify existing schema in a DataSet,
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
DataSet or TempTable or verify existing schema in a DataSet,
TempTable or temp-table Buffer object. |
logical |
readXmlSchema(SourceData source,
logical override,
Text strMapping,
Text verifyMode)
Reads XML Schema from an XML document and uses that schema to either create a schema for a
DataSet or TempTable or verify existing schema in a DataSet,
TempTable or temp-table Buffer object. |
DataSet |
ref()
Obtains the original
DataSet definition. |
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.
|
(package private) void |
removeReference(StaticDataSet staticDataSet)
Removes a reference to this dataset.
|
void |
resetNames()
Reset name, nsPrefix and nsURI.
|
protected boolean |
resourceDelete()
Delete the resource.
|
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 |
setBuffers(Buffer... bufs)
Binds all buffers for a dynamic
DataSet object at the same time. |
logical |
setBuffers(handle... hBuffers)
Binds all buffers for a dynamic
DataSet object at the same time. |
logical |
setBuffers(java.lang.Object... bufs)
Binds all buffers for a dynamic
DataSet object at the same time. |
(package private) boolean |
setBuffersImpl(Buffer... bufs)
Binds all buffers for a dynamic
DataSet object at the same time. |
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.
|
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.
|
void |
setPostponedDelete(boolean postponed)
Set the
postponedDelete flag. |
void |
setProxyDataSet(StaticDataSet proxyDataSet)
Set the back-reference to the defining static proxy dataset.
|
void |
setRelationsActive(boolean active)
Configures whether all data-relation objects in this
DataSet object to be active or
inactive. |
void |
setRelationsActive(logical active)
Configures whether all data-relation objects in this
DataSet object to be active or
inactive. |
void |
setSerializeHidden(boolean val)
Allow to configure whether fields are written when the temp-table is serialized, for example
into JSON or XML.
|
void |
setSerializeHidden(logical val)
Allow to configure whether fields are written when the temp-table is serialized, for example
into JSON or XML.
|
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 |
setTopNavQuery(handle queryHandle)
Configures the default navigation query for a top-level buffer of this
DataSet
object. |
void |
setTopNavQuery(long index,
handle queryHandle)
Configures the default navigation query for a top-level buffer of this
DataSet
object. |
void |
setTopNavQuery(NumberType index,
handle queryHandle)
Configures the default navigation query for a top-level buffer of this
DataSet
object. |
void |
setTopNavQuery(java.lang.String bufName,
handle queryHandle)
Configures the default navigation query for a top-level buffer of this
DataSet
object. |
void |
setTopNavQuery(Text bufName,
handle queryHandle)
Configures the default navigation query for a top-level buffer of this
DataSet
object. |
void |
setXmlDataType(java.lang.String newType)
Configures the XML Schema data type for the buffer-field object.
|
void |
setXmlDataType(Text newType)
Configures the XML Schema data type for the buffer-field object.
|
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 |
setXmlNodeType(java.lang.String newType)
Allows to specify how a this object will be represented in XML and XML Schema.
|
void |
setXmlNodeType(Text newType)
Allows to specify how a this object will be represented in XML and XML Schema.
|
java.lang.String |
toString()
Obtain a short description of the dataset used for debugging.
|
boolean |
valid()
Reports if this object is valid for use.
|
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 omitInitials)
Implementation of the WRITE-JSON method.
|
logical |
writeJson(TargetData target,
logical formatted,
character encoding,
logical omitInitials,
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.
|
(package private) static java.lang.String |
writeToXml(handle dsHandle,
boolean useBeforeImage,
boolean isHandle)
Write the specified DATASET handle to a XML.
|
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
DataSet. |
logical |
writeXmlSchema(TargetData target,
logical formatted)
Writes an XML representation of the definition of this
DataSet. |
logical |
writeXmlSchema(TargetData target,
logical formatted,
Text encoding)
Writes an XML representation of the definition of this
DataSet. |
logical |
writeXmlSchema(TargetData target,
logical formatted,
Text encoding,
logical minXmlSchema)
Writes an XML representation of the definition of this
DataSet. |
logical |
writeXmlSchema(TargetData target,
logical formatted,
Text encoding,
logical minXmlSchema,
logical omitInitVal)
Writes an XML representation of the definition of this
DataSet. |
delete, firstResource, firstResource, getHead, getNextSibling, getPrevSibling, getPrivateData, getTail, hasName, hasNameReadOnly, hasNextSibling, hasParent, hasPrevSibling, hasPrivateData, interlink, isChained, lastResource, lastResource, moveInChain, readOnlyError, readOnlyError, resolveChainType, setHead, setNextSibling, setNextSibling, setPrevSibling, setPrevSibling, setPrivateData, setPrivateData, setPrivateData, validateName_instantiatingProcedure, addToPool, doDelete, equals, hashCode, id, id, implicitDeletion, incrementTrigger, instantiatingProcedure, invalidAttribute, processResource, registerResource, resourceType, setInstantiatingProcedure, type, unableToAssignUnknown, unknownclone, finalize, getClass, notify, notifyAll, wait, wait, waitapplyCallback, getCallbackProcContext, getCallbackProcName, setCallback, setCallback, setCallback, setCallback, setCallback, setCallback, setCallbackProcedure, setCallbackProcedure, setCallbackProcedure, setCallbackProcedure, setCallbackProcedure, setCallbackProcedure, setCallbackProcedureisDataSourceModifieddereference, dereference, dereference, dereferencedynamicresourceTypeid, id, unknownpublic static final java.lang.String BEFORE_FILL_EVENT
BEFORE-FILL event string constant in upper case.public static final java.lang.String AFTER_FILL_EVENT
AFTER-FILL event string constant in upper case.private static final InvokeConfig BEFORE_FILL_CALL_SITE
BEFORE_FILL_EVENT event callback.private static final InvokeConfig AFTER_FILL_CALL_SITE
AFTER_FILL_EVENT event callback.private java.lang.Long uuid
private static final NanoTimer STATIC_PARAM
private static final NanoTimer DYN_PARAM
private static final CentralLogger log
private java.lang.String admData
ADM-DATA ABL attribute.private java.lang.String nsUri
NAMESPACE-URI attribute of this DataSet.private java.lang.String nsPrefix
DataSet.private java.lang.String xmlNodeName
DataSet.private java.lang.String serializeName
DataSet. The default is dataset's name.private boolean defaultActive
DataRelation.private java.lang.String name
NAME attribute. It can be modified for dynamic DataSets
but immutable for static DataSets.private boolean error
ERROR attribute: indicates whether an error occurred
during a FILL or SAVE-ROW-CHANGES operation, but can also be altered
programmatically (writable).private boolean rejected
REJECTED attribute: indicates whether a change to the
data of this DataSet is rejected. The attribute is writable.private java.util.Map<java.lang.String,CallbackData> callbacks
private final boolean dynamic
CREATE as opposed to statically
defined objects, with DEFINE).protected boolean referenceOnly
REFERENCE-ONLY DataSets.private boolean buildInProgress
Builder constructs the object. During this
period, some setters are allowed for STATICally build DATASETs.private boolean postponedDelete
private boolean serializeHidden
DataSet when serialized. This flag overlaps
with XML-NODE-TYPE attribute. A value of false is equivalent to
XML-NODE-TYPE set to "ELEMENT" (the default) and false means that the
XML-NODE-TYPE is "HIDDEN".private boolean deleted
false.private boolean dataSourceModified
DATA-SOURCE-MODIFIED attribute.private final java.util.ArrayList<BufferImpl> buffers
DataSet.private final java.util.Map<BufferImpl,BufferImpl> proxies
DataSet.private java.util.Map<BufferImpl,QueryWrapper> topNavQueries
TOP-NAV-QUERY values mapped by their buffers.private java.util.Set<QueryWrapper> deleteQueries
private final java.util.ArrayList<DataRelation> relations
DataRelation s from this data set.private java.util.Set<DataSetParameter> outputParams
DataSet parameters for output copy if necessary before scope closes.private java.util.Set<StaticDataSet> refs
private StaticDataSet proxyDataSet
private boolean reuseFillQuery
private static boolean fullDebugString
true the full dataset is returned at the expense of CPU clocks.
When false only the essential dataset structure is returned. Intentionally this is defined as
non-final private here and has no accessors so that it can be r/w only at debug time.DataSet()
StaticDataSet, which delegates the calls to either the default dataset
or the bound dataset.DataSet(java.lang.String legacyName,
boolean dynamic,
boolean referenceOnly)
legacyName - The legacy name of the DataSet. Used for lookup.dynamic - Flag indicating if this is a static or dynamic resource.referenceOnly - Flag indicating if this is a REFERENCE-ONLY resource.java.lang.IllegalStateException - If the resource type could not be determined from a LegacyResource annotation, after
checking the interface hierarchy, or more than one interface is annotated.public static void create(handle dsHandle)
CREATE DATASET statement. Creates a new
DataSet and stores the object in the supplied handle.dsHandle - The destination handle.public static void create(handle dsHandle, java.lang.String widgetPool)
CREATE DATASET statement. Creates a new
DataSet and stores the object in the supplied handle.dsHandle - The destination handle.widgetPool - The widget pool to created the new DataSet into.public static void create(handle dsHandle, character widgetPool)
CREATE DATASET statement. Creates a new
DataSet and stores the object in the supplied handle.dsHandle - The destination handle.widgetPool - The widget pool to created the new DataSet into.public static void associate(DataSetParameter dsLocal, DataSet dsTarget, boolean input, boolean output)
DataSet with one another, such that all relevant records can be copied
between them at prescribed times.dsLocal - The local object relative to the current procedure. If this is an INPUT parameter
then this is the 'source'. This encapsulates the actual parameter sent by caller.dsTarget - A dataset defined in current external procedure.input - If true, records are copied from source table to destination table
immediately upon invocation of this method, otherwise they are not.output - When true, the records are copied from destination table back to source
table when the current transaction or subtransaction is committed; otherwise they
are not.TemporaryBuffer.associate(TableParameter, Temporary, boolean, boolean)public static void associate(DataSetParameter dsSrc, DataSet dsTarget, boolean input, boolean output, ParameterOption option)
DataSet with one another, such that all relevant records can be copied
between them at prescribed times.dsSrc - The local object relative to the current procedure. If this is an INPUT parameter
then this is the 'source'. This encapsulates the actual parameter sent by caller.dsTarget - A dataset defined in current external procedure.input - If true, records are copied from source table to destination table
immediately upon invocation of this method, otherwise they are not.output - When true, the records are copied from destination table back to source
table when the current transaction or subtransaction is committed; otherwise they
are not.option - Dataset parameter option (APPEND, BY-VALUE, BIND or BY-REFERENCE).TemporaryBuffer.associate(TableParameter, Temporary, boolean, boolean)public static void associate(DataSetParameter dsSrc, DataSet dsTarget, boolean input, boolean output, java.util.EnumSet<ParameterOption> options)
DataSet with one another, such that all relevant records can be copied
between them at prescribed times.dsSrc - The local object relative to the current procedure. If this is an INPUT parameter
then this is the 'source'. This encapsulates the actual parameter sent by caller.dsTarget - A dataset defined in current external procedure.input - If true, records are copied from source table to destination table
immediately upon invocation of this method, otherwise they are not.output - When true, the records are copied from destination table back to source
table when the current transaction or subtransaction is committed; otherwise they
are not.options - Dataset parameter options (APPEND, BY-VALUE, BIND or BY-REFERENCE).TemporaryBuffer.associate(TableParameter, Temporary, boolean, boolean)public static void associate(DataSetParameter dsLocal, DataSet dsTarget)
DataSet with one another, such that all relevant records can be copied
between them at prescribed times.dsLocal - The local object relative to the current procedure. If this is an INPUT parameter
then this is the 'source'. This encapsulates the actual parameter sent by caller.dsTarget - A dataset defined in current external procedure.TemporaryBuffer.associate(TableParameter, Temporary)public static void associate(DataSetParameter dsSrc, DataSet dsTarget, ParameterOption option)
DataSet with one another, such that all relevant records can be copied
between them at prescribed times.dsSrc - The local object relative to the current procedure. If this is an INPUT parameter
then this is the 'source'. This encapsulates the actual parameter sent by caller.dsTarget - A dataset defined in current external procedure.option - Dataset parameter option (APPEND, BY-VALUE, BIND or BY-REFERENCE).TemporaryBuffer.associate(TableParameter, Temporary)public static void associate(DataSetParameter dsSrc, DataSet dsTarget, java.util.EnumSet<ParameterOption> options)
DataSet with one another, such that all relevant records can be copied
between them at prescribed times.dsSrc - The local object relative to the current procedure. If this is an INPUT parameter
then this is the 'source'. This encapsulates the actual parameter sent by caller.dsTarget - A dataset defined in current external procedure.options - Dataset parameter options (APPEND, BY-VALUE, BIND or BY-REFERENCE).TemporaryBuffer.associate(TableParameter, Temporary)private static void associateImpl(DataSetParameter dsSrc, DataSet dsTarget, java.util.EnumSet<ParameterOption> options)
DataSet with one another, such that all relevant records can be copied
between them at prescribed times.dsSrc - The local object relative to the current procedure. If this is an INPUT parameter
then this is the 'source'. This encapsulates the actual parameter sent by caller.dsTarget - A dataset defined in current external procedure.options - Dataset parameter options (APPEND, BY-VALUE, BIND or BY-REFERENCE).TemporaryBuffer.associate(TableParameter, Temporary)public static void createDynamicDataSet(DataSetParameter dsParam, handle dsHandle)
DataSet from the DataSetParameter provided. The new
DataSet will be stored in dsHandle. This method is used at the beginning of
a method/function in order to properly convert the PARAMETER DATASET-HANDLE
constructs.dsParam - The DataSetParameter. This is the actual parameter for the routine.dsHandle - A handle to store the reference to the new DataSet during the scope of this
routine.public static void createDynamicDataSet(DataSetParameter dsParam, handle dsHandle, boolean input, boolean output)
DataSet from the DataSetParameter provided. The new
DataSet will be stored in dsHandle. This method is used at the beginning of
a method/function in order to properly convert the PARAMETER DATASET-HANDLE
constructs.dsParam - The DataSetParameter. This is the actual parameter for the routine.dsHandle - A handle to store the reference to the new DataSet during the scope of this
routine.input - If true then this is an INPUT or INPUT-OUTPUT parameter.output - If true then this is an OUTPUT or INPUT-OUTPUT parameter.public static void createDynamicDataSet(DataSetParameter dsParam, handle dsHandle, boolean input, boolean output, ParameterOption option)
DataSet from the DataSetParameter provided. The new
DataSet will be stored in dsHandle. This method is used at the beginning of
a method/function in order to properly convert the PARAMETER DATASET-HANDLE
constructs.dsParam - The DataSetParameter. This is the actual parameter for the routine (src).dsHandle - A handle to store the reference to the new DataSet during the scope of this
routine (target).input - If true then this is an INPUT or INPUT-OUTPUT parameter.output - If true then this is an OUTPUT or INPUT-OUTPUT parameter.option - Dataset parameter option (APPEND, BY-VALUE, BIND or BY-REFERENCE).public static void createDynamicDataSet(DataSetParameter dsParam, handle dsHandle, ParameterOption option)
DataSet from the DataSetParameter provided. The new
DataSet will be stored in dsHandle. This method is used at the beginning of
a method/function in order to properly convert the PARAMETER DATASET-HANDLE
constructs.dsParam - The DataSetParameter. This is the actual parameter for the routine (src).dsHandle - A handle to store the reference to the new DataSet during the scope of this
routine (target).option - Dataset parameter option (APPEND, BY-VALUE, BIND or BY-REFERENCE).private static void createDynamicDataSetImpl(DataSetParameter dsParam, handle dsHandle, ParameterOption option)
DataSet from the DataSetParameter provided. The new
DataSet will be stored in dsHandle. This method is used at the beginning of
a method/function in order to properly convert the PARAMETER DATASET-HANDLE
constructs.dsParam - The DataSetParameter. This is the actual parameter for the routine (src).dsHandle - A handle to store the reference to the new DataSet during the scope of this
routine (target).option - Dataset parameter option (APPEND, BY-VALUE, BIND or BY-REFERENCE).public void setProxyDataSet(StaticDataSet proxyDataSet)
proxyDataSet - The defining proxy dataset.public StaticDataSet getProxyDataSet()
proxyDataSet;public handle asHandle()
public void resetNames()
public void name(character name)
name in interface Nameablename in class HandleChainname - The new name to be set.public character name()
name attribute of handle.name in interface Nameablename in class HandleChainpublic java.lang.String _name()
name attribute of handle as a string._name in class HandleChainpublic void name(java.lang.String name)
name attribute of the object referred by this handle.name in interface Nameablename in class HandleChainname - The new name to be set to target object.public java.lang.Object derefPoly(java.lang.String memberName)
:: operator used as r-value in a dynamic extent assignment, as the conversion
rules doesn't know if the target field is extent or scalar.derefPoly in interface DereferenceablememberName - The name of the member to be extracted.public BaseDataType dereference(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 DereferenceablememberName - 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 Dereferenceabletype - 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 DereferenceablememberName - The name of the member to be extracted.value - The new value that will be assigned to the extracted field.public handle getPrevSibling()
PREV-SIBLING attribute of this DataSet. Actually always returns null because
this attribute is not supported by DataSets. Only NEXT-SIBLING is supported.getPrevSibling in interface CommonHandleChaingetPrevSibling in class HandleChainnull.public handle getNextSibling()
NEXT-SIBLING attribute of this DataSet. Actually always returns the super's
getPrevSibling() because DataSets are queued in reverse order(!).
TODO: investigate other handle resource that manifest the same from the point of NEXT/PREV-SIBLING.
getNextSibling in interface CommonHandleChaingetNextSibling in class HandleChainnull.public logical clear()
private void clearImpl(boolean delete,
boolean resetProperties)
After being invoked on a dynamic DataSet the object gets ready to be repopulated.
In this case the method can be invoked multiple times.
In the case of a static DataSets, the method is called only once, when the object is
destroyed. It only makes it easy for GC to free the occupied resources.
delete - The dataset will be deleted. If there are dynamic buffers associated with it having AUTO-DELETE
attribute set they will be also deleted.resetProperties - If true all attributes of the dataset are set to unknown values.public boolean _dynamic()
true if the buffer is dynamic.
This is not emitted by conversion, is used internally by FWD.
_dynamic in interface DynamicResourcetrue if the resource is dynamic, false otherwise.public logical getChanges(handle original)
DataSet or TempTable) object with changed rows from
original (source) object.getChanges in interface DataSetChangeableoriginal - Handle to original object (DataSet or TempTable) 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 DataSetChangeableoriginal - 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 DataSetChangeableoriginal - 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 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 DataSetChangeableoriginal - 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 DataSetChangeableoriginal - 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 DataSetChangeableoriginal - 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 createLike(handle hds)
DataSet, copying its entire structure.
This method is the P2J equivalent of CREATE-LIKE method of Progress 4GL.createLike in interface CreateLikehds - A handle to a DataSet from which to copy the definitions.true on success.public logical createLike(java.lang.String dsName)
DataSet, copying its entire structure.
This method is the P2J equivalent of CREATE-LIKE method of Progress 4GL.createLike in interface CreateLikedsName - The name of DataSet from which to copy the definitions.true on success.public logical createLike(character dsName)
DataSet, copying its entire structure.
This method is the P2J equivalent of CREATE-LIKE method of Progress 4GL.createLike in interface CreateLikedsName - The name of DataSet from which to copy the definitions.true on success.public logical createLike(handle hds, java.lang.String prefix)
DataSet, copying its entire structure.
This method is the P2J equivalent of CREATE-LIKE method of Progress 4GL.createLike in interface CreateLikehds - A handle to a DataSet from which to copy the definitions.prefix - The prefix to prepend to each of the source DataSet member buffer names,
which creates a new name for each new member buffer.true on success.public logical createLike(handle hds, character prefix)
DataSet, copying its entire structure.
This method is the P2J equivalent of CREATE-LIKE method of Progress 4GL.createLike in interface CreateLikehds - A handle to a DataSet from which to copy the definitions.prefix - The prefix to prepend to each of the source DataSet member buffer names,
which creates a new name for each new member buffer.true on success.public logical createLike(java.lang.String dsName, java.lang.String prefix)
DataSet, copying its entire structure.
This method is the P2J equivalent of CREATE-LIKE method of Progress 4GL.createLike in interface CreateLikedsName - The name of DataSet from which to copy the definitions.prefix - The prefix to prepend to each of the source DataSet member buffer names,
which creates a new name for each new member buffer.true on success.public logical createLike(character dsName, character prefix)
DataSet, copying its entire structure.
This method is the P2J equivalent of CREATE-LIKE method of Progress 4GL.createLike in interface CreateLikedsName - The name of DataSet from which to copy the definitions.prefix - The prefix to prepend to each of the source DataSet member buffer names,
which creates a new name for each new member buffer.true on success.public logical copyTempTable(handle other)
The only reason the TempTableDuplicator is implemented by DataSet is that
we found it static code (@code DATASET DSet:COPY-TEMP-TABLE()}). If the method was
referenced via handle interface, the handle would automatically unwrap it to an
invalidAttrAccessProxy. Because the method is accessed directly from the object,
however, makes it mandatory that the DataSet to implement the interface.
copyTempTable in interface TempTableDuplicatorother - Some other temp-table to copy from.true if operation is successful.public logical copyTempTable(handle other, logical append)
The only reason the TempTableDuplicator is implemented by DataSet is that
we found it static code (@code DATASET DSet:COPY-TEMP-TABLE()}). If the method was
referenced via handle interface, the handle would automatically unwrap it to an
invalidAttrAccessProxy. Because the method is accessed directly from the object,
however, makes it mandatory that the DataSet to implement the interface.
copyTempTable in interface TempTableDuplicatorother - Some other temp-table to copy from.append - Append mode.true if operation is successful.public logical copyTempTable(handle other, logical append, logical replace)
The only reason the TempTableDuplicator is implemented by DataSet is that
we found it static code (@code DATASET DSet:COPY-TEMP-TABLE()}). If the method was
referenced via handle interface, the handle would automatically unwrap it to an
invalidAttrAccessProxy. Because the method is accessed directly from the object,
however, makes it mandatory that the DataSet to implement the interface.
copyTempTable in interface TempTableDuplicatorother - 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)
The only reason the TempTableDuplicator is implemented by DataSet is that
we found it static code (@code DATASET DSet:COPY-TEMP-TABLE()}). If the method was
referenced via handle interface, the handle would automatically unwrap it to an
invalidAttrAccessProxy. Because the method is accessed directly from the object,
however, makes it mandatory that the DataSet to implement the interface.
copyTempTable in interface TempTableDuplicatorother - 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)
The only reason the TempTableDuplicator is implemented by DataSet is that
we found it static code (@code DATASET DSet:COPY-TEMP-TABLE()}). If the method was
referenced via handle interface, the handle would automatically unwrap it to an
invalidAttrAccessProxy. Because the method is accessed directly from the object,
however, makes it mandatory that the DataSet to implement the interface.
copyTempTable in interface TempTableDuplicatorother - Some other temp-table to copy from.append - Append mode.true if operation is successful.public logical copyTempTable(handle other, boolean append, boolean replace)
The only reason the TempTableDuplicator is implemented by DataSet is that
we found it static code (@code DATASET DSet:COPY-TEMP-TABLE()}). If the method was
referenced via handle interface, the handle would automatically unwrap it to an
invalidAttrAccessProxy. Because the method is accessed directly from the object,
however, makes it mandatory that the DataSet to implement the interface.
copyTempTable in interface TempTableDuplicatorother - 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)
The only reason the TempTableDuplicator is implemented by DataSet is that
we found it static code (@code DATASET DSet:COPY-TEMP-TABLE()}). If the method was
referenced via handle interface, the handle would automatically unwrap it to an
invalidAttrAccessProxy. Because the method is accessed directly from the object,
however, makes it mandatory that the DataSet to implement the interface.
copyTempTable in interface TempTableDuplicatorother - 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)
The only reason the TempTableDuplicator is implemented by DataSet is that
we found it static code (@code DATASET DSet:COPY-TEMP-TABLE()}). If the method was
referenced via handle interface, the handle would automatically unwrap it to an
invalidAttrAccessProxy. Because the method is accessed directly from the object,
however, makes it mandatory that the DataSet to implement the interface.
copyTempTable in interface TempTableDuplicatorother - 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)
The only reason the TempTableDuplicator is implemented by DataSet is that
we found it static code (@code DATASET DSet:COPY-TEMP-TABLE()}). If the method was
referenced via handle interface, the handle would automatically unwrap it to an
invalidAttrAccessProxy. Because the method is accessed directly from the object,
however, makes it mandatory that the DataSet to implement the interface.
copyTempTable in interface TempTableDuplicatorother - 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.boolean isReuseFillQuery()
re-used.public logical fill()
DataSet object, recursively, based on its defined data sources, data
relations, and queries. When invoked on one of its member Buffer objects a partial
fill is performed, by starting at the respective level.public character fillMode()
fill() method fills a DataSet member buffer. The
default mode is MERGE.
Note: Undocumented feature: query all buffers and returns the common fill mode if one exist. Otherwise returns unknown value.
public void fillMode(java.lang.String mode)
fill() method fills a DataSet member buffer.
The allowed modes are: APPEND, EMPTY, MERGE, NO-FILL, and
REPLACE.
Note: Undocumented feature: set the fill mode on all buffers.
public void fillMode(Text mode)
fill() method fills a DataSet member buffer.
The allowed modes are: APPEND, EMPTY, MERGE, NO-FILL,
and REPLACE.
Note: Undocumented feature: set the fill mode on all buffers.
public integer numReferences()
Buffer, DataSet, or TempTable
object that is defined as a parameter to which reference-only objects are bound.
This corresponds to the read-only NUM-REFERENCES attribute.numReferences in interface RefCounterpublic logical isDataSourceModified()
isDataSourceModified in interface DataSourceModifiabletrue when the data has been modified.public void setDataSourceModified(logical mod)
setDataSourceModified in interface DataSourceModifiablemod - true when the data is marked as modified and false otherwise.public void setDataSourceModified(boolean mod)
setDataSourceModified in interface DataSourceModifiablemod - true when the data is marked as modified and false otherwise.public logical acceptChanges()
DataSet).acceptChanges in interface DataSetChangeabletrue if operation is successful.public logical rejectChanges()
DataSet).rejectChanges in interface DataSetChangeabletrue if operation is successful.public logical applyCallback(java.lang.String eventName)
applyCallback in interface CallbackProcedureeventName - The event whose callback will be called.true if operation is successful.public character getCallbackProcName(java.lang.String eventName)
getCallbackProcName in interface CallbackProcedureeventName - The name of the event.public handle getCallbackProcContext(java.lang.String eventName)
getCallbackProcContext in interface CallbackProcedureeventName - The name of the event.public logical setCallback(java.lang.String callbackName, java.lang.String routineName, object<?> context)
setCallback in interface CallbackProcedurecallbackName - 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 callbackName is a correct callback name. The rest of
parameters are ignored (note: manual states otherwise).public logical setCallbackProcedure(java.lang.String eventName, java.lang.String callback, handle context)
setCallbackProcedure in interface CallbackProcedureeventName - 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 character namespaceURI()
namespaceURI in interface NamespaceURIpublic void namespaceURI(java.lang.String uri)
namespaceURI in interface NamespaceURIuri - The new value of the NAMESPACE-URI attribute.public void namespaceURI(character uri)
namespaceURI in interface NamespaceURIuri - The new value of the NAMESPACE-URI attribute.public character getXmlNodeName()
DataSet) name in an XML document. If not set the name is returned. If the
name is empty "ProDataSet" is returned.getXmlNodeName in interface XmlNodepublic java.lang.String getXmlNodeNameInternal()
null, unlike the getXmlNodeName() attribute implementation.public java.lang.String getNsUri()
public void setXmlNodeName(java.lang.String name)
DataSet, a TempTable, a TemporaryBuffer, or a temp-table
BufferField) name in an XML document.setXmlNodeName in interface XmlNodename - 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.setXmlNodeName in interface XmlNodename - The new name of the XML element for this object.public character getSerializeName()
SERIALIZE-NAME attribute.getSerializeName in interface NamedSerializableSERIALIZE-NAME attribute.public void setSerializeName(Text sName)
SERIALIZE-NAME attribute.setSerializeName in interface NamedSerializablesName - the new value for the SERIALIZE-NAME attribute.public void setSerializeName(java.lang.String sName)
SERIALIZE-NAME attribute.setSerializeName in interface NamedSerializablesName - the new value for the SERIALIZE-NAME attribute.public logical error()
public void error(boolean value)
public void error(logical value)
public logical rejected()
rejected in interface Rejectablepublic void rejected(boolean value)
rejected in interface Rejectablevalue - The new value of REJECTED attribute.public void rejected(logical value)
rejected in interface Rejectablevalue - The new value of REJECTED attribute.public boolean valid()
DataSet is validvalid in interface WrappedResourcetrue if we are valid (can be used).public character getADMData()
getADMData in interface ADMDatapublic void setADMData(java.lang.String value)
setADMData in interface ADMDatavalue - The new value.public void setADMData(character value)
setADMData in interface ADMDatavalue - The new value.public logical emptyDataset()
DataSet object of all records in its associated temp-tables.emptyDataset in interface DataSetInterfacetrue on success.public handle getRelation()
getRelation in interface DataSetInterfacepublic DataRelation getRelationNative()
public handle getRelation(NumberType index)
getRelation in interface DataSetInterfaceindex - The index (1-based) of the data-relation to be returned.public handle getRelation(long index)
getRelation in interface DataSetInterfaceindex - The index (1-based) of the data-relation to be returned.public DataRelation getRelationNative(long index)
index - The index (1-based) of the data-relation to be returned.public java.util.stream.Stream<DataRelation> getRelations()
public handle getRelation(Text name)
getRelation in interface DataSetInterfacename - The name of the data-relation to be returned.public handle getRelation(java.lang.String name)
getRelation in interface DataSetInterfacename - The name of the data-relation to be returned.public handle getTopBuffer()
DataSet object at the specified index position.getTopBuffer in interface DataSetInterfacepublic handle getTopBuffer(long index)
DataSet object at the specified index position.getTopBuffer in interface DataSetInterfaceindex - The 1-based index of the top-level buffer.public BufferImpl getTopBufferNative(long index)
DataSet object at the specified index position.index - The 1-based index of the top-level buffer.public handle getTopBuffer(NumberType index)
DataSet object at the specified index position.getTopBuffer in interface DataSetInterfaceindex - The 1-based index of the top-level buffer.public handle getTopNavQuery()
DataSet object.
This method correspond to the getter side of TOP-NAV-QUERY ABL attribute.getTopNavQuery in interface DataSetInterfacepublic handle getTopNavQuery(long index)
DataSet object.
This method correspond to the getter side of TOP-NAV-QUERY ABL attribute.getTopNavQuery in interface DataSetInterfaceindex - The 1-based index of the top-level buffer.public handle getTopNavQuery(NumberType index)
DataSet object.
This method correspond to the getter side of TOP-NAV-QUERY ABL attribute.getTopNavQuery in interface DataSetInterfaceindex - The 1-based index of the top-level buffer.public handle getTopNavQuery(java.lang.String bufName)
DataSet object.
This method correspond to the getter side of TOP-NAV-QUERY ABL attribute.getTopNavQuery in interface DataSetInterfacebufName - The name of the top-level buffer.public handle getTopNavQuery(Text bufName)
DataSet object.
This method correspond to the getter side of TOP-NAV-QUERY ABL attribute.getTopNavQuery in interface DataSetInterfacebufName - The name of the top-level buffer.public void setTopNavQuery(handle queryHandle)
DataSet
object. This method correspond to the setter side of TOP-NAV-QUERY ABL attribute.setTopNavQuery in interface DataSetInterfacequeryHandle - The new default navigation query for a top-level buffer.public void setTopNavQuery(long index,
handle queryHandle)
DataSet
object. This method correspond to the setter side of TOP-NAV-QUERY ABL attribute.setTopNavQuery in interface DataSetInterfaceindex - The 1-based index of the top-level buffer.queryHandle - The new default navigation query for a top-level buffer.public void setTopNavQuery(NumberType index, handle queryHandle)
DataSet
object. This method correspond to the setter side of TOP-NAV-QUERY ABL attribute.setTopNavQuery in interface DataSetInterfaceindex - The 1-based index of the top-level buffer.queryHandle - The new default navigation query for a top-level buffer.public void setTopNavQuery(java.lang.String bufName,
handle queryHandle)
DataSet
object. This method correspond to the setter side of TOP-NAV-QUERY ABL attribute.setTopNavQuery in interface DataSetInterfacebufName - The name of the top-level buffer.queryHandle - The new default navigation query for a top-level buffer.public void setTopNavQuery(Text bufName, handle queryHandle)
DataSet
object. This method correspond to the setter side of TOP-NAV-QUERY ABL attribute.setTopNavQuery in interface DataSetInterfacebufName - The name of the top-level buffer.queryHandle - The new default navigation query for a top-level buffer.public logical areRelationsActive()
DataSet object is
active. All data-relation objects in a DataSet object are active by default.areRelationsActive in interface DataSetInterfacetrue when all data-relation objects are active.public void setRelationsActive(logical active)
DataSet object to be active or
inactive. Setting this attribute to TRUE will activate all data-relation objects.
Setting it to FALSE will deactivate all data-relation objects instead.setRelationsActive in interface DataSetInterfaceactive - The new value for RELATIONS-ACTIVE attribute.public void setRelationsActive(boolean active)
DataSet object to be active or
inactive. Setting this attribute to TRUE will activate all data-relation objects.
Setting it to FALSE will deactivate all data-relation objects instead.setRelationsActive in interface DataSetInterfaceactive - The new value for RELATIONS-ACTIVE attribute.public integer getNumRelations()
DataSet object.getNumRelations in interface DataSetInterfaceDataSet object.public integer getNumTopBuffers()
DataSet object.getNumTopBuffers in interface DataSetInterfaceDataSet object.public handle addRelation(handle parent, handle child, Text pairs)
DataSet
object. This method applies only to DataSet objects dynamically created.addRelation in interface DataSetInterfaceparent - The handle to the parent buffer in the data-relation object.child - The handle to the child buffer in the data-relation object.pairs - A comma-delimited list of parent-field, child-field pairs describing the relationship between
parent and child buffers in the new data-relation object.handle to the newly created DataRelation.public handle addRelation(handle parent, handle child, Text pairs, logical reposition)
DataSet
object. This method applies only to DataSet objects dynamically created.addRelation in interface DataSetInterfaceparent - The handle to the parent buffer in the data-relation object.child - The handle to the child buffer in the data-relation object.pairs - A comma-delimited list of parent-field, child-field pairs describing the relationship between
parent and child buffers in the new data-relation object.reposition - The reposition mode. If TRUE, the relation mode is REPOSITION.
Otherwise the relation mode is SELECTION. The default value is SELECTION.handle to the newly created DataRelation.public handle addRelation(handle parent, handle child, Text pairs, logical reposition, logical nested)
DataSet
object. This method applies only to DataSet objects dynamically created.addRelation in interface DataSetInterfaceparent - The handle to the parent buffer in the data-relation object.child - The handle to the child buffer in the data-relation object.pairs - A comma-delimited list of parent-field, child-field pairs describing the relationship between
parent and child buffers in the new data-relation object.reposition - The reposition mode. If TRUE, the relation mode is REPOSITION.
Otherwise the relation mode is SELECTION. The default value is SELECTION.nested - Use TRUE to nest child rows of DataSet buffers within their parent
rows when writing the XML representation of data. When FALSE is passed, all
child rows are written after all parent rows are written. The default value is FALSE.handle to the newly created DataRelation.public handle addRelation(handle parent, handle child, Text pairs, logical reposition, logical nested, logical active)
DataSet
object. This method applies only to DataSet objects dynamically created.addRelation in interface DataSetInterfaceparent - The handle to the parent buffer in the data-relation object.child - The handle to the child buffer in the data-relation object.pairs - A comma-delimited list of parent-field, child-field pairs describing the relationship between
parent and child buffers in the new data-relation object.reposition - The reposition mode. If TRUE, the relation mode is REPOSITION.
Otherwise the relation mode is SELECTION. The default value is SELECTION.nested - Use TRUE to nest child rows of DataSet buffers within their parent
rows when writing the XML representation of data. When FALSE is passed, all
child rows are written after all parent rows are written. The default value is FALSE.active - Use false to make the newly created relation inactive.handle to the newly created DataRelation.public handle addRelation(handle parent, handle child, Text pairs, logical reposition, logical nested, logical active, logical recursive)
DataSet
object. This method applies only to DataSet objects dynamically created.addRelation in interface DataSetInterfaceparent - The handle to the parent buffer in the data-relation object.child - The handle to the child buffer in the data-relation object.pairs - A comma-delimited list of parent-field, child-field pairs describing the relationship between
parent and child buffers in the new data-relation object.reposition - The reposition mode. If TRUE, the relation mode is REPOSITION.
Otherwise the relation mode is SELECTION. The default value is SELECTION.nested - Use TRUE to nest child rows of DataSet buffers within their parent
rows when writing the XML representation of data. When FALSE is passed, all
child rows are written after all parent rows are written. The default value is FALSE.active - Use false to make the newly created relation inactive.recursive - Using TRUE till causes the data-relation to be filled recursively.handle to the newly created DataRelation.public handle addRelation(handle parent, handle child, Text pairs, logical reposition, logical nested, logical active, logical recursive, logical fkeyHidden)
DataSet
object. This method applies only to DataSet objects dynamically created.
Note:
There is a bug/quirk in OE when this is performed. If a relation (for same buffer pair) is added a
second time, it is accepted, leading to two "parallel" relations to be created. FWD will warn this in
log. When/if OE decides to fix the bug/quirk, the handling code should also be removed.
addRelation in interface DataSetInterfaceparent - The handle to the parent buffer in the data-relation object.child - The handle to the child buffer in the data-relation object.pairs - A comma-delimited list of parent-field, child-field pairs describing the relationship between
parent and child buffers in the new data-relation object.reposition - The reposition mode. If TRUE, the relation mode is REPOSITION.
Otherwise the relation mode is SELECTION. The default value is SELECTION.nested - Use TRUE to nest child rows of DataSet buffers within their parent
rows when writing the XML representation of data. When FALSE is passed, all
child rows are written after all parent rows are written. The default value is FALSE.active - Use false to make the newly created relation inactive.recursive - Using TRUE till causes the data-relation to be filled recursively.fkeyHidden - When set to TRUE the foreign key fields in nested data-relations will be omitted when
writing the XML representation of data. If this option is used, the NESTED argument
must be TRUE.handle to the newly created DataRelation.public handle addRelationImpl(handle parent, handle child, Text pairs, logical reposition, logical nested, logical active, logical recursive, logical fkeyHidden, boolean nullOnDuplicate)
addRelation.
Creates a new data-relation object for a pair of parent and child buffers of this DataSet
object. This method applies only to DataSet objects dynamically created.
Note:
There is a bug/quirk in OE when this is performed. If a relation (for same buffer pair) is added a
second time, it is accepted, leading to two "parallel" relations to be created. FWD will warn this in
log. When/if OE decides to fix the bug/quirk, the handling code should also be removed.
parent - The handle to the parent buffer in the data-relation object.child - The handle to the child buffer in the data-relation object.pairs - A comma-delimited list of parent-field, child-field pairs describing the relationship between
parent and child buffers in the new data-relation object.reposition - The reposition mode. If TRUE, the relation mode is REPOSITION.
Otherwise the relation mode is SELECTION. The default value is SELECTION.nested - Use TRUE to nest child rows of DataSet buffers within their parent
rows when writing the XML representation of data. When FALSE is passed, all
child rows are written after all parent rows are written. The default value is FALSE.active - Use false to make the newly created relation inactive.recursive - Using TRUE till causes the data-relation to be filled recursively.fkeyHidden - When set to TRUE the foreign key fields in nested data-relations will be omitted when
writing the XML representation of data. If this option is used, the NESTED argument
must be TRUE.nullOnDuplicate - if true the method will return null if a duplicate relation is detected.
Otherwise it will throw error condition #11979, eventually returning invalid handle.handle to the newly created DataRelation.public handle addParentIdRelation(handle parent, handle child)
DataSet based
on the RECID of the parent buffer to this DataSet object. This method applies only to
DataSet objects dynamically created. The newly created object will have the
PARENT-ID-RELATION attribute set to TRUE.addParentIdRelation in interface DataSetInterfaceparent - The handle to the parent buffer in the data-relation object.child - The handle to the child buffer in the data-relation object.DataRelation object.public handle addParentIdRelation(handle parent, handle child, Text parentIdField)
DataSet based
on the RECID of the parent buffer to this DataSet object. This method applies only to
DataSet objects dynamically created. The newly created object will have the
PARENT-ID-RELATION attribute set to TRUE.addParentIdRelation in interface DataSetInterfaceparent - The handle to the parent buffer in the data-relation object.child - The handle to the child buffer in the data-relation object.parentIdField - Denotes the RECID field in child-buffer-handle on which this
parent-id-relation object is based.DataRelation object.public handle addParentIdRelation(handle parent, handle child, Text parentIdField, Text parentFieldsBefore)
DataSet based
on the RECID of the parent buffer to this DataSet object. This method applies only to
DataSet objects dynamically created. The newly created object will have the
PARENT-ID-RELATION attribute set to TRUE.addParentIdRelation in interface DataSetInterfaceparent - The handle to the parent buffer in the data-relation object.child - The handle to the child buffer in the data-relation object.parentIdField - Denotes the RECID field in child-buffer-handle on which this
parent-id-relation object is based.parentFieldsBefore - A list of comma-separated fields from the parent record to be written to XML before
any nested child-buffer-handle records.DataRelation object.public handle addParentIdRelation(handle parent, handle child, Text parentIdField, Text parentFieldsBefore, Text parentFieldsAfter)
DataSet based
on the RECID of the parent buffer to this DataSet object. This method applies only to
DataSet objects dynamically created. The newly created object will have the
PARENT-ID-RELATION attribute set to TRUE.addParentIdRelation in interface DataSetInterfaceparent - The handle to the parent buffer in the data-relation object.child - The handle to the child buffer in the data-relation object.parentIdField - Denotes the RECID field in child-buffer-handle on which this
parent-id-relation object is based. The default value is the name of the
parent-buffer-handle appended with _id.parentFieldsBefore - A list of comma-separated fields from the parent record to be written to XML before
any nested child-buffer-handle records.parentFieldsAfter - A list of comma-separated fields from the parent record to be written to XML after
all nested child-buffer-handle records.DataRelation object.public logical copyDataset(handle srcDS)
DataSet object into this DataSet object.copyDataset in interface DataSetInterfacesrcDS - The source DataSet.true on success.public logical copyDataset(handle srcDS, logical append)
DataSet object into this DataSet object.copyDataset in interface DataSetInterfacesrcDS - The source DataSet.append - When true the source temp-tables are appended to current temp-tables.true on success.public logical copyDataset(handle srcDS, logical append, logical replace)
DataSet object into this DataSet object.copyDataset in interface DataSetInterfacesrcDS - The source DataSet.append - When true the source temp-tables are appended to current temp-tables.replace - When true the records in this temp-tables are replaced with records from
the temp-tables of source DataSet.true on success.public logical copyDataset(handle srcDS, logical append, logical replace, logical looseCopy)
DataSet object into this DataSet object.copyDataset in interface DataSetInterfacesrcDS - The source DataSet.append - When true the source temp-tables are appended to current temp-tables.replace - When true the records in this temp-tables are replaced with records from
the temp-tables of source DataSet.looseCopy - When TRUE, each temp-table in the source DataSet object is copied to
this DataSet object based on a field mapping between the source and target
temp-table buffers.true on success.public logical copyDataset(handle srcDS, logical append, logical replace, logical looseCopy, Text pairList)
DataSet object into this DataSet object.copyDataset in interface DataSetInterfacesrcDS - The source DataSet.append - When true the source temp-tables are appended to current temp-tables.replace - When true the records in this temp-tables are replaced with records from
the temp-tables of source DataSet.looseCopy - When TRUE, each temp-table in the source DataSet object is copied to
this DataSet object based on a field mapping between the source and target
temp-table buffers.pairList - A list of the target and source temp-table PAIRS to be copied, comma-delimited.true on success.public logical copyDataset(handle srcDS, logical append, logical replace, logical looseCopy, Text pairList, logical currentOnly)
DataSet object into this DataSet object.copyDataset in interface DataSetInterfacesrcDS - The source DataSet.append - When true the source temp-tables are appended to current temp-tables.replace - When true the records in this temp-tables are replaced with records from
the temp-tables of source DataSet.looseCopy - When TRUE, each temp-table in the source DataSet object is copied to
this DataSet object based on a field mapping between the source and target
temp-table buffers.pairList - A list of the target and source temp-table PAIRS to be copied, comma-delimited.currentOnly - Use TRUE indicates that the AVM copy only the current record from each
temp-table at each level in the source DataSet object to the target
DataSet object. The default value is FALSE.true on success.public logical copyDataset(handle srcDS, logical append, logical replace, logical looseCopy, Text pairList, logical currentOnly, Text prefix)
DataSet object into this DataSet object.copyDataset in interface DataSetInterfacesrcDS - The source DataSet.append - When true the source temp-tables are appended to current temp-tables.replace - When true the records in this temp-tables are replaced with records from
the temp-tables of source DataSet.looseCopy - When TRUE, each temp-table in the source DataSet object is copied to
this DataSet object based on a field mapping between the source and target
temp-table buffers.pairList - A list of the target and source temp-table PAIRS to be copied, comma-delimited.currentOnly - Use TRUE indicates that the AVM copy only the current record from each
temp-table at each level in the source DataSet object to the target
DataSet object. The default value is FALSE.prefix - An expression used as the prefix for (re-)naming the target DataSet.true on success.public logical setBuffers(handle... hBuffers)
DataSet object at the same time. Any buffers
previously added to this DataSet object are removed.setBuffers in interface BufferCollectionhBuffers - Variable argument list of buffer handles to be set. In 4GL, the maximum number of
buffers per query is 18.true on success.public logical setBuffers(Buffer... bufs)
DataSet object at the same time. Any buffers
previously added to this DataSet object are removed.setBuffers in interface BufferCollectionbufs - Variable argument list of buffer handles to be set. In 4GL, the maximum number of
buffers per query is 18.true on success.public logical setBuffers(java.lang.Object... bufs)
DataSet object at the same time. Any buffers
previously added to this DataSet object are removed.setBuffers in interface BufferCollectionbufs - Variable argument list of Buffer to be set, a mixed list of Buffer,
handle or character instances.true on successpublic logical addBuffer(handle bufHandle)
DataSet object, without affecting
the other buffers, if any. Use the SET-BUFFERS( ) method to remove all prior buffers and set
all buffers for the object at the same time.addBuffer in interface BufferCollectionbufHandle - A buffer handle to add.public logical addBuffer(Buffer buf)
DataSet object, without affecting
the other buffers, if any. Use the SET-BUFFERS( ) method to remove all prior buffers and set
all buffers for the object at the same time.addBuffer in interface BufferCollectionbuf - A buffer to add.public logical addBuffer(java.lang.String bufName)
DataSet object, without affecting
the other buffers, if any. Use the SET-BUFFERS( ) method to remove all prior buffers and set
all buffers for the object at the same time.addBuffer in interface BufferCollectionbufName - Legacy buffer name to add.public logical addBuffer(character bufName)
DataSet object, without affecting
the other buffers, if any. Use the SET-BUFFERS( ) method to remove all prior buffers and set
all buffers for the object at the same time.addBuffer in interface BufferCollectionbufName - Legacy buffer name to add.public integer numBuffers()
DataSet.numBuffers in interface BufferCollectionDataSet.public handle bufferHandle()
DataSet.bufferHandle in interface BufferCollectionDataSet.public handle bufferHandle(int bufIndex)
DataSet.bufferHandle in interface BufferCollectionbufIndex - The sequence number of the desired buffer.DataSet.public handle bufferHandle(int64 bufIndex)
DataSet.bufferHandle in interface BufferCollectionbufIndex - The sequence number of the desired buffer.DataSet.public handle bufferHandle(java.lang.String buffName)
DataSet.bufferHandle in interface BufferCollectionbuffName - The name of the desired buffer.DataSet.public handle bufferHandle(character buffName)
DataSet.bufferHandle in interface BufferCollectionbuffName - The name of the desired buffer.DataSet.public logical getSerializeHidden()
SERIALIZE-HIDDEN ABL attribute.getSerializeHidden in interface SerializeHiddenabletrue when the fields are hidden.public void setSerializeHidden(logical val)
SERIALIZE-HIDDEN ABL attribute.setSerializeHidden in interface SerializeHiddenableval - true when the fields are hidden.public void setSerializeHidden(boolean val)
SERIALIZE-HIDDEN ABL attribute.setSerializeHidden in interface SerializeHiddenableval - true when the fields are hidden.public character namespacePrefix()
namespacePrefix in interface NamespaceURIpublic void namespacePrefix(java.lang.String prefix)
namespacePrefix in interface NamespaceURIprefix - The new value of the NAMESPACE-PREFIX attribute.public void namespacePrefix(character prefix)
namespacePrefix in interface NamespaceURIprefix - The new value of the NAMESPACE-PREFIX attribute.public logical readJson(SourceData source)
public logical readJson(SourceData source, character readMode)
public logical writeJson(TargetData target)
public logical writeJson(TargetData target, logical formatted)
public logical writeJson(TargetData target, logical formatted, character encoding)
writeJson in interface JsonDatatarget - 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 omitInitials)
writeJson in interface JsonDatatarget - 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.omitInitials - 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 omitInitials, logical omitOuterObject)
writeJson in interface JsonDatatarget - 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.omitInitials - 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 JsonDatatarget - 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 character getXmlDataType()
getXmlDataType in interface XmlNodepublic void setXmlDataType(java.lang.String newType)
setXmlDataType in interface XmlNodenewType - the new XML Schema data type for the buffer-field object.public void setXmlDataType(Text newType)
setXmlDataType in interface XmlNodenewType - the new XML Schema data type for the buffer-field object.public character getXmlNodeType()
XML-NODE-TYPE ABL attribute.getXmlNodeType in interface XmlNodepublic void setXmlNodeType(Text newType)
SERIALIZE-HIDDEN attribute.
This represents the setter for XML-NODE-TYPE ABL attribute.setXmlNodeType in interface XmlNodenewType - The new type.public void setXmlNodeType(java.lang.String newType)
XML-NODE-TYPE ABL attribute.setXmlNodeType in interface XmlNodenewType - The new type.public logical readXml(SourceData source, character readMode, character schemaLocation, logical overrideDefaultMapping)
Defaults applied:
readXml in interface XmlDatasource - 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)
readXml in interface XmlDatasource - 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 strMapping, character verifySchemaMode)
readXml in interface XmlDatasource - 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.strMapping - 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)
public logical writeXml(TargetData target, logical formatted)
public logical writeXml(TargetData target, logical formatted, character encoding)
writeXml in interface XmlDatatarget - 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)
writeXml in interface XmlDatatarget - 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)
writeXml in interface XmlDatatarget - 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)
writeXml in interface XmlDatatarget - 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)
writeXml in interface XmlDatatarget - 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 XmlDatatarget - 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)
DataSet.writeXmlSchema in interface XmlDatatarget - Data target.true if operation is successful.public logical writeXmlSchema(TargetData target, logical formatted)
DataSet.writeXmlSchema in interface XmlDatatarget - 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)
DataSet.writeXmlSchema in interface XmlDatatarget - 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)
DataSet.writeXmlSchema in interface XmlDatatarget - 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)
DataSet.writeXmlSchema in interface XmlDatatarget - 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 readXmlSchema(SourceData source, logical override)
DataSet or TempTable or verify existing schema in a DataSet,
TempTable or temp-table Buffer object.readXmlSchema in interface XmlDatasource - 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)
DataSet or TempTable or verify existing schema in a DataSet,
TempTable or temp-table Buffer object.readXmlSchema in interface XmlDatasource - 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 strMapping, Text verifyMode)
DataSet or TempTable or verify existing schema in a DataSet,
TempTable or temp-table Buffer object.readXmlSchema in interface XmlDatasource - 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.strMapping - 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 integer getUniqueID()
getUniqueID in interface UniqueIDpublic void setPostponedDelete(boolean postponed)
postponedDelete flag.postponed - Flag indicating that delete is postponed.public int getIndexOf(BufferImpl buffer)
buffer - The BufferImpl to be search.DataSet and -1
otherwise.public boolean allowDelete(handle ref, boolean explicit)
HandleChain.delete() call.allowDelete in interface Deletableref - The exact handle holding the reference, on which the delete is attempted.explicit - Flag indicating this is called via DELETE OBJECT from the application.false if the dataset is registered as a OUTPUT DATASET-HANDLE parameter
or a BY-REFERENCE parameter.protected boolean resourceDelete()
resourceDelete in class HandleResourcetrue if the resource was deleted.protected boolean hasNameConstraints()
hasNameConstraints in class HandleChainfalse, requiring that its name should be
validated before assignment.HandleChain.validateName(java.lang.String)protected boolean isBound()
REFERENCE-ONLY DataSet was bound to a real DataSet.true (it is bound to itself).protected boolean isPostponedDelete()
postponedDelete.protected boolean isCompatibleWith(DataSet other)
other - The DataSet to compare with this instance.true if the two dataset are compatible (ie one can receive data from
another).public DataSet ref()
DataSet definition. This is for internal usage, in cases when
that information is needed and the proxy interface will mask and make the information unavailable.DataSet definition.public java.util.List<BufferImpl> getBuffers()
buffers for the runtime instance of this resource.public BufferImpl getBufferByIndex(int bufIndex)
bufIndex - The index to search among the list of buffers.null when there is no match.protected void performOutputCopy(DataSetParameter outputParam)
DataSet parameter, if any.outputParam - The DataSet parameter where to copy the data.public int _getNumTopBuffers()
DataSet object.DataSet object.protected DataRelation allowsActiveChild(Buffer childBuffer)
DataSet. When
an existing active relation is detected having the buffer as child the error 11979 is displayed before
returning false.childBuffer - The child buffer to test.null if the requested buffer can be a child buffer in a relation in this
DataSet in current configuration or the DataRelation that caused the conflict.public java.util.ArrayList<DataRelation> getRelations(Buffer buffer, boolean parent, boolean child, boolean active)
DataRelation s for a buffer. Depending on the requests, only the
relations where the buffer is parent, child or any of them is returned.buffer - The buffer to be queried on.parent - If true, all the relations where the buffer is parent are included.child - If true, all the relations where the buffer is child are included.active - If true, ONLY the active relations are included. Otherwise, all relations
that match above constraints will be returned.public java.util.Optional<DataRelation> getRelation(Buffer buffer)
buffer - The buffer to be queried on.protected boolean invokeCallback(handle self, CallbackData cbd)
INPUT parameter of type DATASET or DATASET-HANDLE. The passed
parameter is this DataSet object.cbd - A CallbackData object holding the data necessary for invocation. May be
null, in which case this method will silently return yes even
though nothing is performed.self - The object on which the event is applied (buffer or dataset).true if no errors were encountered during execution.protected void addOutputParam(DataSetParameter dsParam)
dsParam - The dataset parameter.protected logical copyDatasetImpl(handle hSrcDS, boolean append, boolean replace, boolean looseCopy, java.lang.String pairList, boolean currentOnly, java.lang.String prefix)
COPY-DATASET method. Copies all records from all tables of a
source DataSet object into this DataSet object.hSrcDS - The source DataSet.append - When true the source temp-tables are appended to current temp-tables.replace - When true the records in this temp-tables are replaced with records from
the temp-tables of source DataSet.looseCopy - When TRUE, each temp-table in the source DataSet object is copied to
this DataSet object based on a field mapping between the source and target
temp-table buffers.pairList - A list of the target and source temp-table PAIRS to be copied, comma-delimited.currentOnly - Use TRUE indicates that the AVM copy only the current record from each
temp-table at each level in the source DataSet object to the target
DataSet object. The default value is FALSE.prefix - An expression used as the prefix for (re-)naming the target DataSet.true on success.final void addReference(StaticDataSet staticDataSet)
NUM-REFERENCES is updated if needed.staticDataSet - The new DataSet that references this object.final void removeReference(StaticDataSet staticDataSet)
NUM-REFERENCES is updated if needed.staticDataSet - The new DataSet that does not references this object any more.static java.lang.String writeToXml(handle dsHandle, boolean useBeforeImage, boolean isHandle)
This is used when the remote call sent the DATASET as XML and it must receive it in the same format (used by SOAP callers).
dsHandle - The handle referencing the dataset.useBeforeImage - Flag indicating if the before table needs to be serialized.isHandle - Flag indicating that this is used for a DATASET-HANDLE parameter.boolean setBuffersImpl(Buffer... bufs)
DataSet object at the same time. Any buffers
previously added to this DataSet object are removed.bufs - Variable argument list of buffer handles to be set. In 4GL, the maximum number of
buffers per query is 18.true on success.private static void readFromXml(java.lang.String xmlDataset,
boolean append,
handle ds)
This is used when the remote call sent the DATASET as XML and it must receive it in the same format (used by SOAP callers).
xmlDataset - The XML serialized dataset.append - Flag indicating if the read mode is 'append'. Otherwise, is 'empty.ds - The handle where to read the dataset.public BufferImpl getBufferByName(java.lang.String name)
name - The name to search among the list of buffers.null when there is no match.public BufferImpl getBufferBySerializeName(java.lang.String serializeName)
serializeName - The serialize-name to search among the list of buffers.null when there is no match.private boolean flushAllBuffers()
true if all buffers were flushed.private handle getTopNavQuery(BufferImpl buffer)
TOP-NAV-QUERY for a specified buffer. Uses lazy initialization:
if not exist one is created (and prepared, but not open) now.buffer - The buffer whose TOP-NAV-QUERY is to be returned.handle to TOP-NAV-QUERY for specified buffer.private static void invalidTopNavQuery(int errCode,
java.lang.String bufName)
TOP-NAV-QUERY attribute. Two
error messages will be issued, the former being 14293 and the latter the one specified as parameter.errCode - The message code (4056 or 4061).bufName - The buffer's name.private void _setTopBufferQuery(handle queryHandle, BufferImpl topBuffer)
TOP-NAV-QUERY method. Does the final parameter checking before
mapping the query to the buffer.queryHandle - The query to be set.topBuffer - The top level buffer.boolean _areRelationsActive()
DataSet
object is active. All data-relation objects in a DataSet object are active by default.true when all data-relation objects are active.private handle addRelationWorker(java.lang.String relName, Buffer parent, Buffer child, java.lang.String[] fields, java.lang.String strPairs, boolean reposition, boolean nested, boolean active, boolean recursive, boolean fkeyHidden, boolean dynamic)
DataSet object.relName - The name of the relation.parent - The handle to the parent buffer in the data-relation object.child - The handle to the child buffer in the data-relation object.fields - An array of (parent-field, child-field) pairs describing the relationship between
parent and child buffers in the new data-relation object.strPairs - The pair of fields, as string as they appear in the legacy statement.reposition - The reposition mode. If TRUE, the relation mode is REPOSITION.
Otherwise the relation mode is SELECTION. The default value is
SELECTION.nested - Use TRUE to nest child rows of DataSet buffers within their parent
rows when writing the XML representation of data. When FALSE is passed, all
child rows are written after all parent rows are written. The default value is FALSE.active - Use true to make the newly created relation active.recursive - Using TRUE will cause the data-relation to be filled recursively.fkeyHidden - When set to TRUE the foreign key fields in nested data-relations will be
omitted when writing the XML representation of data. If this option is used, the
NESTED argument must be TRUE.dynamic - Use true for dynamically created relations.handle to the newly created DataRelation.private boolean isAlterable()
DataSet s are not alterable, but they can 'altered' by their
Builder while the object is being constructed.true if new buffers or relations can be added.private static boolean isCallbackName(java.lang.String someName)
DataSets. This method is responsible of
raising the 11950 error if the name specified is unknown or not a name of a known callback for
DataSet.someName - The name to test.true only if someName is equals to "BEFORE-FILL" or "AFTER-FILL",
in ignore-case mode.private static InvokeConfig getCallSite(java.lang.String eventName)
callsite for the specified event.eventName - The event name.private java.util.List<Buffer> getTopBufferList()
private logical createLikeImpl(DataSet sourceDS, java.lang.String prefix)
CREATE-LIKE method. The sourceDS structure,
including TempTable and DataRelation definitions, is copied to the this
DataSet; the source data, however, is not copied.sourceDS - The source DataSet.prefix - The name prefix for the newly created DatSet.true on success (and this object is a copy of the sourceDS), and
false if the copy operation failed.private static void copyTempTableOptions(AbstractTempTable src, AbstractTempTable dst)
src - The source table.dst - The destination table.private static int positionOf(BufferImpl[] buffers, BufferImpl item)
BufferImpl in an array of objects of same type.buffers - A buffers of items.item - The item to be located.item in the buffers or -1 if not found.private void finishBuild()
DataSet as build. This will prohibit some of the setters to be
called.public java.lang.String toString()
fullDebugString is true
the full dataset (all rows of all buffers) is dumped as a JSON string. If only the dataset structure
is needed, set fullDebugString to false.toString in class HandleResourcejava.sql.SQLExceptionPersistenceExceptionprivate java.lang.String getSchema()
private java.lang.String getDataAsJson()
PersistenceExceptionjava.sql.SQLException - If any issue was encountered. Since this method is supposed to be called only in debug mode,
it's up to programmer to decide what went wrong.private java.lang.String getSqlData()