public class BasicDataSource extends DataSource
BasicDataSource is the right class to extend when creating a custom DataSource connector.
inInitState, OP_ADD, OP_CLIENT_EXPORT, OP_CUSTOM, OP_FETCH, OP_FILE_SOURCE, OP_GET_FILE, OP_HAS_FILE, OP_LIST_FILES, OP_REMOVE, OP_REMOVE_FILE, OP_RENAME_FILE, OP_SAVE_FILE, OP_UPDATE, OP_VALIDATE
Modifier and Type | Method and Description |
---|---|
DataSource | getAuditDataSource() This method returns the audit DataSource associated with this DataSource if it has the audit=true property set. |
java.lang.String | getProperty(java.lang.Object key) Returns a property from the DataSource config. |
boolean | shouldAutoJoinTransaction(DSRequest req) Returns true if the parameter DSRequest should automatically join an existing transaction, taking into account the DSRequest-specific override provided by DSRequest.setJoinTransaction(java.lang.Boolean) , the transaction policy of the controlling RPCManager (if there is one), and autoJoinTransactions settings at the operationBinding, DataSource, dbName and global system levels. |
boolean | shouldAutoStartTransaction(DSRequest req, boolean ignoreExistingTransaction) Returns true if the parameter DSRequest should automatically start a new transaction, taking into account the DSRequest-specific override provided by DSRequest.setJoinTransaction(java.lang.Boolean) , the transaction policy of the controlling RPCManager (if there is one), and autoJoinTransactions settings at the operationBinding, DataSource, dbName and global system levels |
void | transformMultipleFields(DSRequest req) Transforms the values for fields declared multiple:true in the incoming DSRequest. |
void | transformMultipleFields(DSResponse res) Transform the values for fields declared multiple:true in a DSResponse. |
add, addDynamicDSGenerator, addDynamicDSGenerator, addDynamicDSGenerator, clearDynamicDSGenerators, execute, executeAdd, executeClientExport, executeCustom, executeFetch, executeFileSource, executeRemove, executeUpdate, fetch, fetch, fetchById, fetchSingle, fetchSingle, filter, filter, fromXML, fromXML, fromXML, fromXML, fromXML, fromXML, fromXML, fromXML, getAuditRevisionFieldName, getAuditTimestampFieldName, getAuditTypeFieldName, getAuditUserFieldName, getDefaultDynamicDSGenerator, getDynamicDSGenerators, getEnumConstantProperty, getEnumOrdinalProperty, getEnumTranslateStrategy, getField, getFieldNames, getFile, getFileAsInputStream, getFileAsString, getFileContentsField, getFileFormatField, getFileNameField, getFileTypeField, getListProperties, getListProperties, getPrimaryKey, getProperties, getProperties, getProperties, getPropertyJavaClass, getRecordXPath, getTransactionObject, getTransactionObject, hasFile, hasRecord, hasRecord, initialized, isModificationOperation, isServerOnly, listFiles, listFiles, remove, removeDynamicDSGenerator, removeDynamicDSGenerator, removeDynamicDSGenerator, removeFile, renameFile, saveFile, setEnumConstantProperty, setEnumOrdinalProperty, setEnumTranslateStrategy, setProperties, update, validate
public java.lang.String getProperty(java.lang.Object key)
myNewProperty="some useful value"to the
<DataSource>
tag in your .ds.xml
definition file, calling this method with a parameter of "myNewProperty"
will return "some useful value"
- the value you assigned in the DataSource definition.key
- The key to look uppublic boolean shouldAutoStartTransaction(DSRequest req, boolean ignoreExistingTransaction) throws java.lang.Exception
DSRequest.setJoinTransaction(java.lang.Boolean)
, the transaction policy
of the controlling RPCManager (if there is one), and autoJoinTransactions settings at the operationBinding, DataSource, dbName and global system levels This method is part of the Automatic Transactions feature, which is effective only in Power edition and above.
req
- The DSRequest to checkignoreExistingTransaction
- If true, indicates that we should not take into account any existing transaction for this RPCManager when deciding if a transaction should be autoStarted. This is useful if you want to know if a request would have started a new transaction if one hadn't already been started.java.lang.Exception
public boolean shouldAutoJoinTransaction(DSRequest req) throws java.lang.Exception
DSRequest.setJoinTransaction(java.lang.Boolean)
, the transaction policy
of the controlling RPCManager (if there is one), and autoJoinTransactions settings at the operationBinding, DataSource, dbName and global system levels. This method is part of the Automatic Transactions feature, which is effective only in Power edition and above.
req
- The DSRequest to checkjava.lang.Exception
public DataSource getAuditDataSource()
DataSource
associated with this DataSource
if it has the audit=true property set. The audit DataSource
can only be accessed by ID if the original DataSource
has been accessed first.
DataSource
if audit was enabled, or null.public void transformMultipleFields(DSRequest req)
See client-side docs for DataSourceField.multipleStorage for possible behaviors. This transformation is performed in DataSource.execute(), before operationType-specific methods like executeFetch or executeUpdate() are called.
transformMultipleFields
in class DataSource
req
- the request to be transformed.public void transformMultipleFields(DSResponse res)
See client-side docs for DataSourceField.multipleStorage for possible behaviors. This transformation is performed in DataSource.execute(), after operationType-specific methods like executeFetch or executeUpdate() are called.
transformMultipleFields
in class DataSource
res
- the DSResponse to be transformed.