Package org.eclipse.persistence.queries
Class ObjectLevelModifyQuery
- java.lang.Object
-
- org.eclipse.persistence.queries.DatabaseQuery
-
- org.eclipse.persistence.queries.ModifyQuery
-
- org.eclipse.persistence.queries.ObjectLevelModifyQuery
-
- All Implemented Interfaces:
Serializable,Cloneable
- Direct Known Subclasses:
DeleteObjectQuery,WriteObjectQuery
public abstract class ObjectLevelModifyQuery extends ModifyQuery
Purpose: Abstract class for all object modify queries.
Responsibilities:
- Stores & retrieves the object to modify.
- Stores & retrieves the primary key of the objects.
- Since:
- TOPLink/Java 1.0
- Author:
- Yvon Lavoie
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.persistence.queries.DatabaseQuery
DatabaseQuery.ParameterType
-
-
Field Summary
-
Fields inherited from class org.eclipse.persistence.queries.DatabaseQuery
BATCH_FETCH_PROPERTY, CascadeAggregateDelete, CascadeAllParts, CascadeByMapping, CascadeDependentParts, CascadePrivateParts, NoCascading
-
-
Constructor Summary
Constructors Constructor Description ObjectLevelModifyQuery()PUBLIC: Initialize the state of the query.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcheckDescriptor(org.eclipse.persistence.internal.sessions.AbstractSession session)INTERNAL: Ensure that the descriptor has been set.ObjectexecuteInUnitOfWork(org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork, org.eclipse.persistence.internal.sessions.AbstractRecord translationRow)INTERNAL: All have done is move code from UnitOfWork.internalExecuteQueryObjectgetBackupClone()INTERNAL: Return the backup clone of the object from the unit of work.ObjectgetObject()PUBLIC: Return the object required for modification.org.eclipse.persistence.internal.sessions.ObjectChangeSetgetObjectChangeSet()PUBLIC: Return the ObjectChangeSet representing the object being changedObjectgetPrimaryKey()INTERNAL: Get the primary key for the queryClassgetReferenceClass()Return the domain class associated with this query.StringgetReferenceClassName()INTERNAL: Return the reference class for a query Note: Although the API is designed to avoid classpath dependencies for the MW, since the object is specified at runtime, this will not be an issue.booleanisObjectLevelModifyQuery()PUBLIC: Return if this is an object level modify query.voidprepareForExecution()INTERNAL: Prepare the receiver for execution in a session.voidresetMonitorName()INTERNAL: Return the name to use for the query in performance monitoring.voidsetBackupClone(Object backupClone)INTERNAL: Set the backup clone of the object from the unit of work.voidsetObject(Object object)PUBLIC: (REQUIRED) Set the object required for modification.voidsetObjectChangeSet(org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet)INTERNAL: Set the ObjectChangeSet representing the object to be writtenvoidsetPrimaryKey(Object primaryKey)INTERNAL: Set the primary key for the query.StringtoString()-
Methods inherited from class org.eclipse.persistence.queries.ModifyQuery
forceBatchStatementExecution, getModifyRow, isBatchExecutionSupported, isModifyQuery, setForceBatchStatementExecution, setIsBatchExecutionSupported, setModifyRow
-
Methods inherited from class org.eclipse.persistence.queries.DatabaseQuery
addArgument, addArgument, addArgument, addArgument, addArgument, addArgument, addArgumentByTypeName, addArgumentValue, addArgumentValues, addCall, addStatement, bindAllParameters, buildArgumentFields, cacheStatement, cascadeAllParts, cascadeByMapping, cascadeOnlyDependentParts, cascadePrivateParts, checkEarlyReturn, checkPrepare, checkPrepare, clone, convertClassNamesToClasses, copyFromQuery, dontBindAllParameters, dontCacheStatement, dontCascadeParts, dontMaintainCache, execute, executeDatabaseQuery, extractRemoteResult, getAccessor, getAccessors, getArgumentParameterTypes, getArguments, getArgumentTypeNames, getArgumentTypes, getArgumentValues, getBatchObjects, getCall, getCascadePolicy, getDatasourceCall, getDatasourceCalls, getDescriptor, getDescriptors, getDomainClassNounName, getDoNotRedirect, getEJBQLString, getExecutionSession, getFlushOnExecute, getHintString, getJPQLString, getMonitorName, getName, getNullableArguments, getParameterDelimiter, getParameterDelimiterChar, getPartitioningPolicy, getProperties, getProperty, getQueryMechanism, getQueryNounName, getQueryTimeout, getQueryTimeoutUnit, getRedirector, getRedirectorForQuery, getSelectionCriteria, getSensorName, getSession, getSessionName, getShouldBindAllParameters, getSourceMapping, getSQLStatement, getSQLString, getSQLStrings, getTranslatedSQLString, getTranslatedSQLStrings, getTranslationRow, hasAccessor, hasArguments, hasNullableArguments, hasProperties, hasQueryMechanism, hasSessionName, ignoreBindAllParameters, ignoreCacheStatement, isCallQuery, isCascadeOfAggregateDelete, isCustomQueryUsed, isDataModifyQuery, isDataReadQuery, isDefaultPropertiesQuery, isDeleteAllQuery, isDeleteObjectQuery, isDirectReadQuery, isExecutionClone, isExpressionQuery, isInsertObjectQuery, isJPQLCallQuery, isModifyAllQuery, isNativeConnectionRequired, isObjectBuildingQuery, isObjectLevelReadQuery, isPrepared, isReadAllQuery, isReadObjectQuery, isReadQuery, isReportQuery, isResultSetMappingQuery, isSQLCallQuery, isUpdateAllQuery, isUpdateObjectQuery, isUserDefined, isUserDefinedSQLCall, isValueReadQuery, isWriteObjectQuery, maintainCache, prepareCall, prepareFromQuery, prepareInternal, redirectQuery, remoteExecute, removeProperty, replaceValueHoldersIn, retrieveBypassCache, rowFromArguments, setAccessor, setAccessors, setAllowNativeSQLQuery, setArguments, setArgumentTypeNames, setArgumentTypes, setArgumentValues, setBatchObjects, setCall, setCascadePolicy, setDatasourceCall, setDescriptor, setDoNotRedirect, setEJBQLString, setFlushOnExecute, setHintString, setIsExecutionClone, setIsNativeConnectionRequired, setIsPrepared, setIsUserDefined, setIsUserDefinedSQLCall, setJPQLString, setName, setNullableArguments, setParameterDelimiter, setPartitioningPolicy, setProperties, setProperty, setQueryTimeout, setQueryTimeoutUnit, setRedirector, setSelectionCriteria, setSession, setSessionName, setShouldBindAllParameters, setShouldBindAllParameters, setShouldCacheStatement, setShouldMaintainCache, setShouldPrepare, setShouldRetrieveBypassCache, setShouldStoreBypassCache, setShouldUseWrapperPolicy, setShouldValidateUpdateCallCacheUse, setSourceMapping, setSQLStatement, setSQLString, setTranslationRow, shouldAllowNativeSQLQuery, shouldBindAllParameters, shouldCacheStatement, shouldCascadeAllParts, shouldCascadeByMapping, shouldCascadeOnlyDependentParts, shouldCascadeParts, shouldCascadePrivateParts, shouldCloneCall, shouldIgnoreBindAllParameters, shouldIgnoreCacheStatement, shouldMaintainCache, shouldPrepare, shouldPrepare, shouldRetrieveBypassCache, shouldStoreBypassCache, shouldUseWrapperPolicy, shouldValidateUpdateCallCacheUse, storeBypassCache
-
-
-
-
Method Detail
-
checkDescriptor
public void checkDescriptor(org.eclipse.persistence.internal.sessions.AbstractSession session) throws QueryExceptionINTERNAL: Ensure that the descriptor has been set.- Overrides:
checkDescriptorin classDatabaseQuery- Throws:
QueryException
-
executeInUnitOfWork
public Object executeInUnitOfWork(org.eclipse.persistence.internal.sessions.UnitOfWorkImpl unitOfWork, org.eclipse.persistence.internal.sessions.AbstractRecord translationRow) throws DatabaseException
INTERNAL: All have done is move code from UnitOfWork.internalExecuteQuery- Overrides:
executeInUnitOfWorkin classDatabaseQuery- Parameters:
unitOfWork- - the session in which the receiver will be executed.translationRow- - the arguments- Returns:
- An object, the result of executing the query.
- Throws:
DatabaseException- - an error has occurred on the database.
-
getBackupClone
public Object getBackupClone()
INTERNAL: Return the backup clone of the object from the unit of work.
-
getObject
public Object getObject()
PUBLIC: Return the object required for modification.
-
getObjectChangeSet
public org.eclipse.persistence.internal.sessions.ObjectChangeSet getObjectChangeSet()
PUBLIC: Return the ObjectChangeSet representing the object being changed
-
getPrimaryKey
public Object getPrimaryKey()
INTERNAL: Get the primary key for the query
-
getReferenceClass
public Class getReferenceClass()
Return the domain class associated with this query.- Overrides:
getReferenceClassin classDatabaseQuery
-
getReferenceClassName
public String getReferenceClassName()
INTERNAL: Return the reference class for a query Note: Although the API is designed to avoid classpath dependencies for the MW, since the object is specified at runtime, this will not be an issue.- Overrides:
getReferenceClassNamein classDatabaseQuery
-
resetMonitorName
public void resetMonitorName()
INTERNAL: Return the name to use for the query in performance monitoring.- Overrides:
resetMonitorNamein classDatabaseQuery
-
isObjectLevelModifyQuery
public boolean isObjectLevelModifyQuery()
PUBLIC: Return if this is an object level modify query.- Overrides:
isObjectLevelModifyQueryin classDatabaseQuery
-
prepareForExecution
public void prepareForExecution() throws QueryExceptionINTERNAL: Prepare the receiver for execution in a session. In particular check that the tables on the descriptor are set.- Overrides:
prepareForExecutionin classDatabaseQuery- Throws:
QueryException
-
setBackupClone
public void setBackupClone(Object backupClone)
INTERNAL: Set the backup clone of the object from the unit of work.
-
setObject
public void setObject(Object object)
PUBLIC: (REQUIRED) Set the object required for modification.
-
setObjectChangeSet
public void setObjectChangeSet(org.eclipse.persistence.internal.sessions.ObjectChangeSet changeSet)
INTERNAL: Set the ObjectChangeSet representing the object to be written
-
setPrimaryKey
public void setPrimaryKey(Object primaryKey)
INTERNAL: Set the primary key for the query.
-
toString
public String toString()
- Overrides:
toStringin classDatabaseQuery
-
-