Class MongoPlatform
java.lang.Object
org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
org.eclipse.persistence.eis.EISPlatform
org.eclipse.persistence.nosql.adapters.mongo.MongoPlatform
- All Implemented Interfaces:
Serializable,Cloneable,CorePlatform<ConversionManager>,Platform
Platform for Mongo database.
- Since:
- EclipseLink 2.4
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringprotected booleanConfigure if like should be SQL or regex.static final Stringstatic final StringMongo interaction spec properties.static final Stringstatic final Stringstatic final Stringstatic final 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 TypeMethodDescriptionprotected voidappendExpressionToQueryRow(Expression expression, AbstractRecord row, DatabaseQuery query) Append the expression and recursively to the query row.protected voidappendExpressionToSortRow(Expression expression, AbstractRecord row, DatabaseQuery query) Append the order by expression to the sort row.buildCallFromStatement(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.createOutputRecord(EISInteraction interaction, AbstractRecord translationRow, EISAccessor accessor) For updates a separate translation record is required.protected SequenceINTERNAL: Create platform-default Sequenceprotected ObjectextractValueFromExpression(Expression expression, DatabaseQuery query) Extract the field or constant value from the comparison expression.voidinitializeDefaultQueries(DescriptorQueryManager queryManager, AbstractSession session) INTERNAL: Allow the platform to initialize the CRUD queries to defaults.booleanReturn if regex should be used for like.voidsetIsLikeRegex(boolean isLikeRegex) Set if regex should be used for like.voidsetValueInRecord(String key, Object value, MappedRecord record, EISAccessor accessor) Mongo does not support all Java types.booleanshouldPrepare(DatabaseQuery query) Do not prepare dynamic queries, as the translation row is required.Methods inherited from class org.eclipse.persistence.eis.EISPlatform
appendParameter, buildNativeCall, buildRow, buildRows, createDatabaseRowFromDOMRecord, createDOMRecord, createInputRecord, getConversionManager, getRecordConverter, getValueFromRecord, isDOMRecordSupported, isIndexedRecordSupported, isMappedRecordSupported, requiresAutoCommit, setDOMInRecord, setIsDOMRecordSupported, setIsIndexedRecordSupported, setIsMappedRecordSupported, setRecordConverter, setRequiresAutoCommit, setShouldConvertDataToStrings, setSupportsLocalTransactions, shouldConvertDataToStrings, supportsLocalTransactionsMethods inherited from class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
addOperator, addSequence, addSequence, buildSelectQueryForIdentity, buildSelectQueryForIdentity, buildSelectQueryForSequenceObject, buildSelectQueryForSequenceObject, clone, convertObject, 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
Mongo interaction spec properties.- See Also:
-
COLLECTION
- See Also:
-
OPTIONS
- See Also:
-
READ_PREFERENCE
- See Also:
-
WRITE_CONCERN
- See Also:
-
SKIP
- See Also:
-
LIMIT
- See Also:
-
BATCH_SIZE
- See Also:
-
isLikeRegex
protected boolean isLikeRegexConfigure if like should be SQL or regex.
-
-
Constructor Details
-
MongoPlatform
public MongoPlatform()Default constructor.
-
-
Method Details
-
setValueInRecord
Mongo does not support all Java types. Convert unsupported types to string.- Overrides:
setValueInRecordin classEISPlatform
-
isLikeRegex
public boolean isLikeRegex()Return if regex should be used for like. -
setIsLikeRegex
public void setIsLikeRegex(boolean isLikeRegex) Set if regex should be used for like. -
buildInteractionSpec
Allow the platform to build the interaction spec based on properties defined in the interaction.- Overrides:
buildInteractionSpecin classEISPlatform
-
createOutputRecord
public Record createOutputRecord(EISInteraction interaction, AbstractRecord translationRow, EISAccessor accessor) For updates a separate translation record is required. The output row is used for this.- Overrides:
createOutputRecordin 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) INTERNAL: Override this method to throw an exception by default. Platforms that support dynamic querying can override this to generate an EISInteraction.- Overrides:
buildCallFromStatementin classEISPlatform
-
appendExpressionToQueryRow
protected void appendExpressionToQueryRow(Expression expression, AbstractRecord row, DatabaseQuery query) Append the expression and recursively to the query row. -
appendExpressionToSortRow
protected void appendExpressionToSortRow(Expression expression, AbstractRecord row, DatabaseQuery query) Append the order by expression to the sort row. -
extractValueFromExpression
Extract the field or constant value from the comparison expression. -
shouldPrepare
Do not prepare dynamic queries, as the translation row is required.- Overrides:
shouldPreparein classDatasourcePlatform
-
createPlatformDefaultSequence
INTERNAL: Create platform-default Sequence- Overrides:
createPlatformDefaultSequencein classDatasourcePlatform
-