EclipseLink 2.4.0, build 'v20120608-r11652' API Reference

org.eclipse.persistence.nosql.adapters.mongo
Class MongoPlatform

java.lang.Object
  extended by org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
      extended by org.eclipse.persistence.eis.EISPlatform
          extended by org.eclipse.persistence.nosql.adapters.mongo.MongoPlatform
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, org.eclipse.persistence.internal.databaseaccess.Platform

public class MongoPlatform
extends EISPlatform

Platform for Mongo database.

See Also:
Serialized Form
Author:
James
Since:
EclipseLink 2.4

Field Summary
static java.lang.String BATCH_SIZE
           
static java.lang.String COLLECTION
           
protected  boolean isLikeRegex
          Configure if like should be SQL or regex.
static java.lang.String LIMIT
           
static java.lang.String OPERATION
          Mongo interaction spec properties.
static java.lang.String OPTIONS
           
static java.lang.String READ_PREFERENCE
           
static java.lang.String SKIP
           
static java.lang.String WRITE_CONCERN
           
 
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, defaultSequence, endDelimiter, platformOperators, sequences, sequencesLock, startDelimiter, tableQualifier, timestampQuery
 
Constructor Summary
MongoPlatform()
          Default constructor.
 
Method Summary
protected  void appendExpressionToQueryRow(Expression expression, org.eclipse.persistence.internal.sessions.AbstractRecord row, DatabaseQuery query)
          Append the expression and recursively to the query row.
protected  void appendExpressionToSortRow(Expression expression, org.eclipse.persistence.internal.sessions.AbstractRecord row, DatabaseQuery query)
          Append the order by expression to the sort row.
 org.eclipse.persistence.internal.databaseaccess.DatasourceCall buildCallFromStatement(org.eclipse.persistence.internal.expressions.SQLStatement statement, DatabaseQuery query, org.eclipse.persistence.internal.sessions.AbstractSession session)
          INTERNAL: Override this method to throw an exception by default.
 javax.resource.cci.InteractionSpec buildInteractionSpec(EISInteraction interaction)
          Allow the platform to build the interaction spec based on properties defined in the interaction.
 javax.resource.cci.Record createOutputRecord(EISInteraction interaction, org.eclipse.persistence.internal.sessions.AbstractRecord translationRow, EISAccessor accessor)
          For updates a separate translation record is required.
protected  Sequence createPlatformDefaultSequence()
          INTERNAL: Create platform-default Sequence
protected  java.lang.Object extractValueFromExpression(Expression expression, DatabaseQuery query)
          Extract the field or constant value from the comparison expression.
 void initializeDefaultQueries(DescriptorQueryManager queryManager, org.eclipse.persistence.internal.sessions.AbstractSession session)
          INTERNAL: Allow the platform to initialize the CRUD queries to defaults.
 boolean isLikeRegex()
          Return if regex should be used for like.
 void setIsLikeRegex(boolean isLikeRegex)
          Set if regex should be used for like.
 void setValueInRecord(java.lang.String key, java.lang.Object value, javax.resource.cci.MappedRecord record, EISAccessor accessor)
          Mongo does not support all Java types.
 boolean shouldPrepare(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, supportsLocalTransactions
 
Methods inherited from class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform
addOperator, addSequence, addSequence, buildSelectQueryForIdentity, buildSelectQueryForIdentity, buildSelectQueryForSequenceObject, buildSelectQueryForSequenceObject, clone, convertObject, copyInto, createConnectionCustomizer, getCustomModifyValueForCall, getDataTypesConvertedFrom, getDataTypesConvertedTo, getDefaultSequence, getDefaultSequenceToWrite, getEndDelimiter, getIdentifierQuoteCharacter, getOperator, getPlatformOperators, getSelectSequenceQuery, getSequence, getSequencePreallocationSize, getSequences, getSequencesToWrite, getStartDelimiter, getTableQualifier, getTimestampFromServer, getTimestampQuery, getUpdateSequenceQuery, hasDefaultSequence, initialize, initializePlatformOperators, isAccess, isAttunity, isCloudscape, isDB2, isDBase, isDerby, isFirebird, isH2, isHSQL, isInformix, isMaxDB, isMySQL, isODBC, isOracle, isOracle9, isPointBase, isPostgreSQL, isSQLAnywhere, isSQLServer, isSybase, isSymfoware, isTimesTen, isTimesTen7, removeAllSequences, removeSequence, sequencesAfterCloneCleanup, setConversionManager, setDefaultSequence, setEndDelimiter, setSelectSequenceNumberQuery, setSequencePreallocationSize, setSequences, setStartDelimiter, setTableQualifier, setTimestampQuery, setUpdateSequenceQuery, shouldNativeSequenceUseTransaction, shouldSelectDistinctIncludeOrderBy, shouldSelectIncludeOrderBy, shouldUseCustomModifyForCall, supportsIdentity, supportsNativeSequenceNumbers, supportsSequenceObjects, toString, usesPlatformDefaultSequence
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

OPERATION

public static java.lang.String OPERATION
Mongo interaction spec properties.


COLLECTION

public static java.lang.String COLLECTION

OPTIONS

public static java.lang.String OPTIONS

READ_PREFERENCE

public static java.lang.String READ_PREFERENCE

WRITE_CONCERN

public static java.lang.String WRITE_CONCERN

SKIP

public static java.lang.String SKIP

LIMIT

public static java.lang.String LIMIT

BATCH_SIZE

public static java.lang.String BATCH_SIZE

isLikeRegex

protected boolean isLikeRegex
Configure if like should be SQL or regex.

Constructor Detail

MongoPlatform

public MongoPlatform()
Default constructor.

Method Detail

setValueInRecord

public void setValueInRecord(java.lang.String key,
                             java.lang.Object value,
                             javax.resource.cci.MappedRecord record,
                             EISAccessor accessor)
Mongo does not support all Java types. Convert unsupported types to string.

Overrides:
setValueInRecord in class EISPlatform

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

public javax.resource.cci.InteractionSpec buildInteractionSpec(EISInteraction interaction)
Allow the platform to build the interaction spec based on properties defined in the interaction.

Overrides:
buildInteractionSpec in class EISPlatform

createOutputRecord

public javax.resource.cci.Record createOutputRecord(EISInteraction interaction,
                                                    org.eclipse.persistence.internal.sessions.AbstractRecord translationRow,
                                                    EISAccessor accessor)
For updates a separate translation record is required. The output row is used for this.

Overrides:
createOutputRecord in class EISPlatform

initializeDefaultQueries

public void initializeDefaultQueries(DescriptorQueryManager queryManager,
                                     org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Allow the platform to initialize the CRUD queries to defaults. Configure the CRUD operations using GET/PUT and DELETE.

Overrides:
initializeDefaultQueries in class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform

buildCallFromStatement

public org.eclipse.persistence.internal.databaseaccess.DatasourceCall buildCallFromStatement(org.eclipse.persistence.internal.expressions.SQLStatement statement,
                                                                                             DatabaseQuery query,
                                                                                             org.eclipse.persistence.internal.sessions.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:
buildCallFromStatement in class EISPlatform

appendExpressionToQueryRow

protected void appendExpressionToQueryRow(Expression expression,
                                          org.eclipse.persistence.internal.sessions.AbstractRecord row,
                                          DatabaseQuery query)
Append the expression and recursively to the query row.


appendExpressionToSortRow

protected void appendExpressionToSortRow(Expression expression,
                                         org.eclipse.persistence.internal.sessions.AbstractRecord row,
                                         DatabaseQuery query)
Append the order by expression to the sort row.


extractValueFromExpression

protected java.lang.Object extractValueFromExpression(Expression expression,
                                                      DatabaseQuery query)
Extract the field or constant value from the comparison expression.


shouldPrepare

public boolean shouldPrepare(DatabaseQuery query)
Do not prepare dynamic queries, as the translation row is required.

Overrides:
shouldPrepare in class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform

createPlatformDefaultSequence

protected Sequence createPlatformDefaultSequence()
INTERNAL: Create platform-default Sequence

Overrides:
createPlatformDefaultSequence in class org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform

EclipseLink 2.4.0, build 'v20120608-r11652' API Reference