Class OracleNoSQLPlatform
java.lang.Object
org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
org.eclipse.persistence.eis.EISPlatform
org.eclipse.persistence.nosql.adapters.sdk.OracleNoSQLPlatform
- All Implemented Interfaces:
Serializable
,Cloneable
,CorePlatform<ConversionManager>
,Platform
Platform for Oracle NoSQL database.
- Since:
- EclipseLink 4.0
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic String
static String
static String
OracleNoSQL interaction spec properties.static String
static String
static String
static String
static String
static String
Fields inherited from class org.eclipse.persistence.eis.EISPlatform
domMethod, isDOMRecordSupported, isIndexedRecordSupported, isMappedRecordSupported, recordConverter, requiresAutoCommit, shouldConvertDataToStrings, supportsLocalTransactions, xmlConversionManager
Fields inherited from class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
conversionManager, dataTypesConvertedFromAClass, dataTypesConvertedToAClass, defaultNativeSequenceToTable, defaultSeqenceAtNextValue, defaultSequence, endDelimiter, platformOperators, sequences, sequencesLock, startDelimiter, supportsReturnGeneratedKeys, tableQualifier, timestampQuery, uuidQuery
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuildCallFromStatement
(SQLStatement statement, DatabaseQuery query, AbstractSession session) INTERNAL: Override this method to throw an exception by default.buildInteractionSpec
(EISInteraction interaction) Allow the platform to build the interaction spec based on properties defined in the interaction.buildNativeCall
(String queryString) INTERNAL: Return the correct call type for the native query string.buildRow
(Record record, EISInteraction interaction, EISAccessor accessor) INTERNAL: Allow the platform to handle record to row conversion.buildRows
(Record record, EISInteraction interaction, EISAccessor accessor) Allow the platform to handle record to row conversion.<T> T
convertObject
(Object sourceObject, Class<T> javaClass) INTERNAL: Allow for conversion from the Oracle type to the Java type.createDatabaseRowFromDOMRecord
(Record record, EISInteraction call, EISAccessor accessor) Allow the platform to handle the creation of the Record for the DOM record.createInputRecord
(EISInteraction interaction, EISAccessor accessor) Allow the platform to create the appropriate type of record for the interaction.protected Object
createMajorKey
(ClassDescriptor descriptor, AbstractRecord record, EISInteraction interaction, EISAccessor accessor) NoSQL stores the data in a single big map.protected Sequence
INTERNAL: NoSQL does not support id generation, so use UUID as the default.static oracle.nosql.driver.values.FieldValue
getFieldValue
(String typeName, Object value, boolean isLob) void
initializeDefaultQueries
(DescriptorQueryManager queryManager, AbstractSession session) INTERNAL: Allow the platform to initialize the CRUD queries to defaults.static boolean
void
setDOMInRecord
(Element dom, Record record, EISInteraction interaction, EISAccessor accessor) Stores the XML DOM value into the record.boolean
shouldPrepare
(DatabaseQuery query) Do not prepare to avoid errors being triggered for id and all queries.Methods inherited from class org.eclipse.persistence.eis.EISPlatform
appendParameter, createDOMRecord, createOutputRecord, getConversionManager, getRecordConverter, getValueFromRecord, isDOMRecordSupported, isIndexedRecordSupported, isMappedRecordSupported, requiresAutoCommit, setIsDOMRecordSupported, setIsIndexedRecordSupported, setIsMappedRecordSupported, setRecordConverter, setRequiresAutoCommit, setShouldConvertDataToStrings, setSupportsLocalTransactions, setValueInRecord, shouldConvertDataToStrings, supportsLocalTransactions
Methods inherited from class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
addOperator, addSequence, addSequence, buildSelectQueryForIdentity, buildSelectQueryForIdentity, buildSelectQueryForSequenceObject, buildSelectQueryForSequenceObject, clone, copyInto, createConnectionCustomizer, createExpressionFor, getCustomModifyValueForCall, getDataTypesConvertedFrom, getDataTypesConvertedTo, getDefaultNativeSequenceToTable, getDefaultSeqenceAtNextValue, getDefaultSequence, getDefaultSequenceToWrite, getDriverVersion, getEndDelimiter, getINClauseLimit, getOperator, getPlatformOperators, getSelectSequenceQuery, getSequence, getSequencePreallocationSize, getSequences, getSequencesToWrite, getStartDelimiter, getTableQualifier, getTimestampFromServer, getTimestampQuery, getUpdateSequenceQuery, getUUIDQuery, hasDefaultSequence, initialize, initializePlatformOperators, initIdentitySequences, isAccess, isAttunity, isCloudscape, isDB2, isDB2Z, isDBase, isDerby, isFirebird, isH2, isHANA, isHSQL, isInformix, isMariaDB, isMaxDB, isMySQL, isODBC, isOracle, isOracle12, isOracle23, isOracle9, isPervasive, isPointBase, isPostgreSQL, isSQLAnywhere, isSQLServer, isSybase, isSymfoware, isTimesTen, isTimesTen7, removeAllSequences, removeIdentitySequences, removeSequence, sequencesAfterCloneCleanup, setConversionManager, setDefaultNativeSequenceToTable, setDefaultSeqenceAtNextValue, setDefaultSequence, setEndDelimiter, setSelectSequenceNumberQuery, setSequencePreallocationSize, setSequences, setStartDelimiter, setSupportsReturnGeneratedKeys, setTableQualifier, setTimestampQuery, setUpdateSequenceQuery, setUUIDQuery, shouldNativeSequenceUseTransaction, shouldSelectDistinctIncludeOrderBy, shouldSelectIncludeOrderBy, shouldUseCustomModifyForCall, supportsIdentity, supportsNativeSequenceNumbers, supportsReturnGeneratedKeys, supportsSequenceObjects, toString, usesPlatformDefaultSequence
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.eclipse.persistence.internal.databaseaccess.Platform
connectionProperties
-
Field Details
-
OPERATION
OracleNoSQL interaction spec properties. -
CONSISTENCY
-
DURABILITY
-
TIMEOUT
-
VERSION
-
QUERY
-
QUERY_ARGUMENTS
-
QUERY_ARGUMENT_TYPE_SUFFIX
-
QUERY_ARGUMENT_VALUE_SUFFIX
-
-
Constructor Details
-
OracleNoSQLPlatform
public OracleNoSQLPlatform()Default constructor.
-
-
Method Details
-
buildInteractionSpec
Allow the platform to build the interaction spec based on properties defined in the interaction.- Overrides:
buildInteractionSpec
in classEISPlatform
-
buildRow
INTERNAL: Allow the platform to handle record to row conversion.- Overrides:
buildRow
in classEISPlatform
-
buildRows
public Vector<AbstractRecord> buildRows(Record record, EISInteraction interaction, EISAccessor accessor) Allow the platform to handle record to row conversion.- Overrides:
buildRows
in classEISPlatform
-
createInputRecord
Allow the platform to create the appropriate type of record for the interaction. Convert the nested local mapped record to a flat global keyed record.- Overrides:
createInputRecord
in classEISPlatform
-
setDOMInRecord
public void setDOMInRecord(Element dom, Record record, EISInteraction interaction, EISAccessor accessor) Stores the XML DOM value into the record. XML is stored in Oracle NoSQL but storing the XML text, keyed on the object's "<dataTypeName>/<id>".- Overrides:
setDOMInRecord
in classEISPlatform
-
createMajorKey
protected Object createMajorKey(ClassDescriptor descriptor, AbstractRecord record, EISInteraction interaction, EISAccessor accessor) NoSQL stores the data in a single big map. The keys are called major keys (minor keys are used to store the attributes). Major keys can have multiple values (and normally do). The first value is normally the type, then the id. -
createDatabaseRowFromDOMRecord
public AbstractRecord createDatabaseRowFromDOMRecord(Record record, EISInteraction call, EISAccessor accessor) Allow the platform to handle the creation of the Record for the DOM record. Creates a DOM record from the XML data stored as a value in the OracleNoSQLRecord.- Overrides:
createDatabaseRowFromDOMRecord
in classEISPlatform
-
initializeDefaultQueries
INTERNAL: Allow the platform to initialize the CRUD queries to defaults. Configure the CRUD operations using GET/PUT and DELETE.- Overrides:
initializeDefaultQueries
in classDatasourcePlatform
-
buildCallFromStatement
public DatasourceCall buildCallFromStatement(SQLStatement statement, DatabaseQuery query, AbstractSession session) Description copied from class:EISPlatform
INTERNAL: Override this method to throw an exception by default. Platforms that support dynamic querying can override this to generate an EISInteraction.- Overrides:
buildCallFromStatement
in classEISPlatform
-
shouldPrepare
Do not prepare to avoid errors being triggered for id and all queries.- Overrides:
shouldPrepare
in classDatasourcePlatform
-
createPlatformDefaultSequence
INTERNAL: NoSQL does not support id generation, so use UUID as the default.- Overrides:
createPlatformDefaultSequence
in classDatasourcePlatform
-
getFieldValue
-
isLob
-
convertObject
public <T> T convertObject(Object sourceObject, Class<T> javaClass) throws ConversionException, DatabaseException INTERNAL: Allow for conversion from the Oracle type to the Java type.- Specified by:
convertObject
in interfaceCorePlatform<ConversionManager>
- Specified by:
convertObject
in interfacePlatform
- Overrides:
convertObject
in classDatasourcePlatform
- Parameters:
sourceObject
- the object that must be convertedjavaClass
- the class that the object must be converted to- Returns:
- the newly converted object
- Throws:
ConversionException
- all exceptions will be thrown as this type.DatabaseException
-
buildNativeCall
INTERNAL: Return the correct call type for the native query string. This allows EIS platforms to use different types of native calls.- Overrides:
buildNativeCall
in classEISPlatform
-