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 Stringstatic Stringstatic StringOracleNoSQL interaction spec properties.static Stringstatic Stringstatic Stringstatic Stringstatic Stringstatic StringFields inherited from class org.eclipse.persistence.eis.EISPlatform
domMethod, isDOMRecordSupported, isIndexedRecordSupported, isMappedRecordSupported, recordConverter, requiresAutoCommit, shouldConvertDataToStrings, supportsLocalTransactions, xmlConversionManagerFields 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> TconvertObject(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 ObjectcreateMajorKey(ClassDescriptor descriptor, AbstractRecord record, EISInteraction interaction, EISAccessor accessor) NoSQL stores the data in a single big map.protected SequenceINTERNAL: NoSQL does not support id generation, so use UUID as the default.static oracle.nosql.driver.values.FieldValuegetFieldValue(String typeName, Object value, boolean isLob) voidinitializeDefaultQueries(DescriptorQueryManager queryManager, AbstractSession session) INTERNAL: Allow the platform to initialize the CRUD queries to defaults.static booleanvoidsetDOMInRecord(Element dom, Record record, EISInteraction interaction, EISAccessor accessor) Stores the XML DOM value into the record.booleanshouldPrepare(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, supportsLocalTransactionsMethods inherited from class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
addOperator, addSequence, addSequence, buildSelectQueryForIdentity, buildSelectQueryForIdentity, buildSelectQueryForSequenceObject, buildSelectQueryForSequenceObject, clone, convertObject, 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, isOracle21, 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, usesPlatformDefaultSequenceMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods 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:
buildInteractionSpecin classEISPlatform
-
buildRow
INTERNAL: Allow the platform to handle record to row conversion.- Overrides:
buildRowin classEISPlatform
-
buildRows
public Vector<AbstractRecord> buildRows(Record record, EISInteraction interaction, EISAccessor accessor) Allow the platform to handle record to row conversion.- Overrides:
buildRowsin 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:
createInputRecordin 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:
setDOMInRecordin 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:
createDatabaseRowFromDOMRecordin classEISPlatform
-
initializeDefaultQueries
INTERNAL: Allow the platform to initialize the CRUD queries to defaults. Configure the CRUD operations using GET/PUT and DELETE.- Overrides:
initializeDefaultQueriesin classDatasourcePlatform
-
buildCallFromStatement
public DatasourceCall buildCallFromStatement(SQLStatement statement, DatabaseQuery query, AbstractSession session) Description copied from class:EISPlatformINTERNAL: Override this method to throw an exception by default. Platforms that support dynamic querying can override this to generate an EISInteraction.- Overrides:
buildCallFromStatementin classEISPlatform
-
shouldPrepare
Do not prepare to avoid errors being triggered for id and all queries.- Overrides:
shouldPreparein classDatasourcePlatform
-
createPlatformDefaultSequence
INTERNAL: NoSQL does not support id generation, so use UUID as the default.- Overrides:
createPlatformDefaultSequencein 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:
convertObjectin interfaceCorePlatform<ConversionManager>- Specified by:
convertObjectin interfacePlatform- Overrides:
convertObjectin 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:
buildNativeCallin classEISPlatform
-