|
EclipseLink 2.1.2, build 'v20101206-r8635' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.persistence.descriptors.ClassDescriptor
public class ClassDescriptor
Purpose: Abstract descriptor class for defining persistence information on a class. This class provides the data independent behavior and is subclassed, for relational, object-relational, EIS, XML, etc.
RelationalDescriptor
,
ObjectRelationalDataTypeDescriptor
,
EISDescriptor
,
XMLDescriptor
,
Serialized FormField Summary | |
---|---|
protected java.util.List<org.eclipse.persistence.internal.helper.DatabaseField> |
additionalAggregateCollectionKeyFields
used by aggregate descriptors to hold additional fields needed when they are stored in an AggregatateCollection These fields are generally foreign key fields that are required in addition to the fields in the descriptor's mappings to uniquely identify the Aggregate |
protected java.util.Map<org.eclipse.persistence.internal.helper.DatabaseTable,java.util.Map<org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.helper.DatabaseField>> |
additionalTablePrimaryKeyFields
|
protected java.util.List<org.eclipse.persistence.internal.helper.DatabaseField> |
additionalWritableMapKeyFields
stores fields that are written by Map key mappings so they can be checked for multiple writable mappings |
protected static int |
AGGREGATE
|
protected static int |
AGGREGATE_COLLECTION
|
protected java.lang.String |
alias
|
protected java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> |
allFields
|
protected java.lang.Class |
amendmentClass
|
protected java.lang.String |
amendmentClassName
|
protected java.lang.String |
amendmentMethodName
|
protected java.lang.Class |
cacheInterceptorClass
|
protected java.lang.String |
cacheInterceptorClassName
|
protected CacheInvalidationPolicy |
cacheInvalidationPolicy
|
protected CacheKeyType |
cacheKeyType
Allow cache key type to be configured. |
protected int |
cacheSynchronizationType
Configures how objects will be sent via cache synchronization, if synchronization is enabled. |
protected java.util.Vector |
cascadeLockingPolicies
|
protected ObjectChangePolicy |
changePolicy
|
protected CMPPolicy |
cmpPolicy
|
protected java.util.Vector |
constraintDependencies
|
protected CopyPolicy |
copyPolicy
|
protected java.lang.String |
copyPolicyClassName
|
protected QueryRedirector |
defaultDeleteObjectQueryRedirector
|
protected java.lang.String |
defaultDeleteObjectQueryRedirectorClassName
|
protected QueryRedirector |
defaultInsertObjectQueryRedirector
|
protected java.lang.String |
defaultInsertObjectQueryRedirectorClassName
|
protected QueryRedirector |
defaultQueryRedirector
|
protected java.lang.String |
defaultQueryRedirectorClassName
|
protected QueryRedirector |
defaultReadAllQueryRedirector
|
protected java.lang.String |
defaultReadAllQueryRedirectorClassName
|
protected QueryRedirector |
defaultReadObjectQueryRedirector
|
protected java.lang.String |
defaultReadObjectQueryRedirectorClassName
|
protected QueryRedirector |
defaultReportQueryRedirector
|
protected java.lang.String |
defaultReportQueryRedirectorClassName
|
protected org.eclipse.persistence.internal.helper.DatabaseTable |
defaultTable
|
protected QueryRedirector |
defaultUpdateObjectQueryRedirector
|
protected java.lang.String |
defaultUpdateObjectQueryRedirectorClassName
|
protected java.util.Map<java.lang.String,DatabaseMapping> |
derivesIdMappings
|
protected int |
descriptorType
|
static int |
DO_NOT_SEND_CHANGES
|
protected static int |
ERROR
|
protected DescriptorEventManager |
eventManager
|
protected FetchGroupManager |
fetchGroupManager
|
protected java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> |
fields
|
protected boolean |
hasMultipleTableConstraintDependecy
Defines if any mapping reference a field in a secondary table. |
protected boolean |
hasRelationships
whether this descriptor has any relationships through its mappings, through inheritance, or through aggregates |
protected boolean |
hasSimplePrimaryKey
PERF: Compute and store if the primary key is simple (direct-mapped) to allow fast extraction. |
protected HistoryPolicy |
historyPolicy
|
protected java.lang.Class |
identityMapClass
|
protected int |
identityMapSize
|
protected IdValidation |
idValidation
Allow zero primary key validation to be configured. |
protected InheritancePolicy |
inheritancePolicy
|
protected int |
initializationStage
|
protected static int |
INITIALIZED
|
protected org.eclipse.persistence.internal.descriptors.InstantiationPolicy |
instantiationPolicy
|
protected static int |
INTERFACE
|
protected int |
interfaceInitializationStage
|
protected InterfacePolicy |
interfacePolicy
|
static int |
INVALIDATE_CHANGED_OBJECTS
|
protected java.lang.Boolean |
isIsolated
|
protected boolean |
isNativeConnectionRequired
Allow connection unwrapping to be configured. |
static int |
ISOLATE_CACHE_AFTER_TRANSACTION
|
static int |
ISOLATE_CACHE_ALWAYS
|
static int |
ISOLATE_NEW_DATA_AFTER_TRANSACTION
|
protected java.lang.Class |
javaClass
|
protected java.lang.String |
javaClassName
|
protected java.util.List<DatabaseMapping> |
lockableMappings
|
protected java.util.Vector<DatabaseMapping> |
mappings
|
protected java.util.List<DatabaseMapping> |
mappingsPostCalculateChanges
Mappings that require postCalculateChanges method to be called |
protected java.util.List<DatabaseMapping> |
mappingsPostCalculateChangesOnDeleted
Mappings that require postCalculateChangesOnDeleted method to be called |
protected java.util.Map<org.eclipse.persistence.internal.helper.DatabaseTable,java.util.Set<org.eclipse.persistence.internal.helper.DatabaseTable>> |
multipleTableForeignKeys
|
protected java.util.List<org.eclipse.persistence.internal.helper.DatabaseTable> |
multipleTableInsertOrder
|
protected static int |
NORMAL
Define valid descriptor types. |
protected org.eclipse.persistence.internal.descriptors.ObjectBuilder |
objectBuilder
|
protected org.eclipse.persistence.internal.descriptors.OptimisticLockingPolicy |
optimisticLockingPolicy
|
protected static int |
POST_INITIALIZED
|
protected java.util.List<DatabaseMapping> |
preDeleteMappings
stores a list of mappings that require preDelete as a group prior to the delete individually |
protected static int |
PREINITIALIZED
|
protected java.util.List<org.eclipse.persistence.internal.helper.DatabaseField> |
primaryKeyFields
|
protected java.util.List<IdValidation> |
primaryKeyIdValidations
Allow zero primary key validation to be configured per field. |
protected java.util.Map |
properties
Additional properties may be added. |
protected java.util.Map<java.lang.String,QueryKey> |
queryKeys
|
protected DescriptorQueryManager |
queryManager
|
protected java.lang.Class |
remoteIdentityMapClass
|
protected int |
remoteIdentityMapSize
|
protected ReturningPolicy |
returningPolicy
|
static int |
SEND_NEW_OBJECTS_WITH_CHANGES
|
static int |
SEND_OBJECT_CHANGES
|
protected Sequence |
sequence
Store the Sequence used for the descriptor. |
protected org.eclipse.persistence.internal.helper.DatabaseField |
sequenceNumberField
|
protected java.lang.String |
sequenceNumberName
|
protected java.lang.String |
sessionName
|
protected boolean |
shouldAcquireCascadedLocks
PERF: Used to optimize cache locking to only acquire deferred locks when required (no-indirection). |
protected boolean |
shouldAlwaysConformResultsInUnitOfWork
|
protected boolean |
shouldAlwaysRefreshCache
|
protected boolean |
shouldAlwaysRefreshCacheOnRemote
|
protected boolean |
shouldBeReadOnly
|
protected boolean |
shouldDisableCacheHits
|
protected boolean |
shouldDisableCacheHitsOnRemote
|
protected boolean |
shouldOnlyRefreshCacheIfNewerVersion
|
protected boolean |
shouldOrderMappings
|
protected boolean |
shouldRegisterResultsInUnitOfWork
|
static boolean |
shouldUseFullChangeSetsForNewObjects
INTERNAL: Backdoor for using changes sets for new objects. |
protected java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseTable> |
tables
|
static int |
UNDEFINED_ISOLATATION
|
static int |
UNDEFINED_OBJECT_CHANGE_BEHAVIOR
|
protected static int |
UNINITIALIZED
The following are the states the descriptor passes thru during the initialization. |
protected int |
unitOfWorkCacheIsolationLevel
Configures how the unit of work uses the session cache. |
static int |
USE_SESSION_CACHE_AFTER_TRANSACTION
|
protected WrapperPolicy |
wrapperPolicy
|
Constructor Summary | |
---|---|
ClassDescriptor()
PUBLIC: Return a new descriptor. |
Method Summary | |
---|---|
void |
addAbstractQueryKey(java.lang.String queryKeyName)
PUBLIC: This method should only be used for interface descriptors. |
void |
addCascadeLockingPolicy(org.eclipse.persistence.internal.descriptors.CascadeLockingPolicy policy)
INTERNAL: Add the cascade locking policy to all children that have a relationship to this descriptor either by inheritance or by encapsulation/aggregation. |
void |
addConstraintDependencies(java.lang.Class dependencies)
ADVANCED: EclipseLink automatically orders database access through the foreign key information provided in 1:1 and 1:m mappings. |
void |
addConstraintDependency(java.lang.Class dependencies)
ADVANCED: EclipseLink automatically orders database access through the foreign key information provided in 1:1 and 1:m mappings. |
DatabaseMapping |
addDirectMapping(java.lang.String attributeName,
java.lang.String fieldName)
PUBLIC: Add a direct to field mapping to the receiver. |
DatabaseMapping |
addDirectMapping(java.lang.String attributeName,
java.lang.String getMethodName,
java.lang.String setMethodName,
java.lang.String fieldName)
PUBLIC: Add a direct to field mapping to the receiver. |
void |
addDirectQueryKey(java.lang.String queryKeyName,
java.lang.String fieldName)
PUBLIC: Add a query key to the descriptor. |
void |
addForeignKeyFieldForMultipleTable(org.eclipse.persistence.internal.helper.DatabaseField sourceForeignKeyField,
org.eclipse.persistence.internal.helper.DatabaseField targetPrimaryKeyField)
PUBLIC: This protocol can be used to associate multiple tables with foreign key information. |
void |
addForeignKeyFieldNameForMultipleTable(java.lang.String sourceForeignKeyFieldName,
java.lang.String targetPrimaryKeyFieldName)
PUBLIC: This protocol can be used to associate multiple tables with foreign key information. |
DatabaseMapping |
addMapping(DatabaseMapping mapping)
PUBLIC: Add a database mapping to the receiver. |
void |
addMappingsPostCalculateChanges(DatabaseMapping mapping)
Add a mapping to the list of mappings that require postCalculateChanges method to be called. |
void |
addMappingsPostCalculateChangesOnDeleted(DatabaseMapping mapping)
Add a mapping to the list of mappings that require mappingsPostCalculateChangesOnDeleted method to be called. |
void |
addPrimaryKeyField(org.eclipse.persistence.internal.helper.DatabaseField field)
ADVANCED: Specify the primary key field of the descriptors table. |
void |
addPrimaryKeyFieldName(java.lang.String fieldName)
PUBLIC: Specify the primary key field of the descriptors table. |
void |
addQueryKey(QueryKey queryKey)
PUBLIC: Add a query key to the descriptor. |
void |
addTable(org.eclipse.persistence.internal.helper.DatabaseTable table)
PUBLIC: Specify the table for the class of objects the receiver describes. |
void |
addTableName(java.lang.String tableName)
PUBLIC: Specify the table name for the class of objects the receiver describes. |
void |
adjustMultipleTableInsertOrder()
INTERNAL: Adjust the order of the tables in the multipleTableInsertOrder Vector according to the FK relationship if one (or more) were previously specified. |
void |
alwaysConformResultsInUnitOfWork()
PUBLIC: Used to set the descriptor to always conform in any unit of work query. |
void |
alwaysRefreshCache()
PUBLIC: This method is the equivalent of calling setShouldAlwaysRefreshCache(boolean) with an argument of true :
it configures a ClassDescriptor to always refresh the cache if data is received from the database by any query. |
void |
alwaysRefreshCacheOnRemote()
PUBLIC: This method is the equivalent of calling setShouldAlwaysRefreshCacheOnRemote(boolean) with an argument of true :
it configures a ClassDescriptor to always remotely refresh the cache if data is received from the database by any
query in a RemoteSession . |
void |
applyAmendmentMethod()
ADVANCED: Call the descriptor amendment method. |
void |
applyAmendmentMethod(DescriptorEvent event)
INTERNAL: Call the descriptor amendment method. |
boolean |
arePrimaryKeyFields(java.util.Vector fields)
INTERNAL: Used to determine if a foreign key references the primary key. |
protected void |
assignDefaultValues(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Some attributes have default values defined in Project. |
org.eclipse.persistence.internal.databaseaccess.DatabaseCall |
buildCallFromStatement(org.eclipse.persistence.internal.expressions.SQLStatement statement,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Return a call built from a statement. |
java.util.Vector |
buildDirectValuesFromFieldValue(java.lang.Object fieldValue)
INTERNAL: Extract the direct values from the specified field value. |
org.eclipse.persistence.internal.helper.DatabaseField |
buildField(org.eclipse.persistence.internal.helper.DatabaseField field)
INTERNAL: The table of the field is ensured to be unique from the descriptor's tables. |
org.eclipse.persistence.internal.helper.DatabaseField |
buildField(org.eclipse.persistence.internal.helper.DatabaseField field,
org.eclipse.persistence.internal.helper.DatabaseTable relationTable)
|
org.eclipse.persistence.internal.helper.DatabaseField |
buildField(java.lang.String fieldName)
INTERNAL: A DatabaseField is built from the given field name. |
java.lang.Object |
buildFieldValueFromDirectValues(java.util.Vector directValues,
java.lang.String elementDataTypeName,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Build the appropriate field value for the specified set of direct values. |
java.lang.Object |
buildFieldValueFromForeignKeys(java.util.Vector foreignKeys,
java.lang.String referenceDataTypeName,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Build and return the appropriate field value for the specified set of foreign keys (i.e. each row has the fields that make up a foreign key). |
java.lang.Object |
buildFieldValueFromNestedRow(org.eclipse.persistence.internal.sessions.AbstractRecord nestedRow,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Build and return the field value from the specified nested database row. |
java.lang.Object |
buildFieldValueFromNestedRows(java.util.Vector nestedRows,
java.lang.String structureName,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Build and return the appropriate field value for the specified set of nested rows. |
org.eclipse.persistence.internal.sessions.AbstractRecord |
buildNestedRowFromFieldValue(java.lang.Object fieldValue)
INTERNAL: Build and return the nested database row from the specified field value. |
java.util.Vector |
buildNestedRowsFromFieldValue(java.lang.Object fieldValue,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Build and return the nested rows from the specified field value. |
protected void |
checkDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session)
To check that tables and fields are present in database |
void |
checkInheritanceTreeAggregateSettings(org.eclipse.persistence.internal.sessions.AbstractSession session,
AggregateMapping mapping)
INTERNAL: Verify that an aggregate descriptor's inheritance tree is full of aggregate descriptors. |
java.lang.Object |
clone()
INTERNAL: Clones the descriptor |
void |
convertClassNamesToClasses(java.lang.ClassLoader classLoader)
INTERNAL: Convert all the class-name-based settings in this Descriptor to actual class-based settings. |
void |
createCopyPolicy(java.lang.String policyType)
PUBLIC: Create a copy policy of the type passed in as a string. |
void |
createInstantiationPolicy(java.lang.String policyType)
PUBLIC: Create a instantiation policy of the type passed in as a string. |
protected void |
createMultipleTableInsertOrder()
INTERNAL: Create multiple table insert order. |
protected void |
createMultipleTableInsertOrderFromComparison(int[][] tableComparison,
int nStart)
INTERNAL: This helper method creates multipleTableInsertOrderFromComparison using comparison matrix created by createTableComparison(getTables()) method call. |
protected int[][] |
createTableComparison(java.util.List<org.eclipse.persistence.internal.helper.DatabaseTable> tables,
int nStart)
INTERNAL: This helper method creates a matrix that contains insertion order comparison for the tables. |
protected boolean |
createTableOrder(int k,
int nTables,
int[] tableOrder,
int[][] tableComparison)
INTERNAL: This helper method recursively puts indexes from 0 to nTables-1 into tableOrder according to tableComparison 2 dim array. |
void |
descriptorIsAggregate()
PUBLIC: Sets the descriptor to be an aggregate. |
void |
descriptorIsAggregateCollection()
PUBLIC: Sets the descriptor to be part of an aggregate collection. |
void |
descriptorIsForInterface()
PUBLIC: Sets the descriptor to be for an interface. |
void |
descriptorIsNormal()
PUBLIC: Sets the descriptor to be normal. |
void |
disableCacheHits()
PUBLIC: Allow for cache hits on primary key read object queries to be disabled. |
void |
disableCacheHitsOnRemote()
PUBLIC: Allow for remote session cache hits on primary key read object queries to be disabled. |
void |
dontAlwaysConformResultsInUnitOfWork()
PUBLIC: The descriptor is defined to not conform the results in unit of work in read query. |
void |
dontAlwaysRefreshCache()
PUBLIC: This method is the equivalent of calling setShouldAlwaysRefreshCache(boolean) with an argument of false :
it ensures that a ClassDescriptor is not configured to always refresh the cache if data is received from the database by any query. |
void |
dontAlwaysRefreshCacheOnRemote()
PUBLIC: This method is the equivalent of calling setShouldAlwaysRefreshCacheOnRemote(boolean) with an argument of false :
it ensures that a ClassDescriptor is not configured to always remotely refresh the cache if data is received from the
database by any query in a RemoteSession . |
void |
dontDisableCacheHits()
PUBLIC: Allow for cache hits on primary key read object queries. |
void |
dontDisableCacheHitsOnRemote()
PUBLIC: Allow for remote session cache hits on primary key read object queries. |
void |
dontOnlyRefreshCacheIfNewerVersion()
PUBLIC: This method is the equivalent of calling setShouldOnlyRefreshCacheIfNewerVersion(boolean) with an argument of false :
it ensures that a ClassDescriptor is not configured to only refresh the cache if the data received from the database by
a query is newer than the data in the cache (as determined by the optimistic locking field). |
protected org.eclipse.persistence.internal.helper.DatabaseTable |
extractDefaultTable()
INTERNAL: The first table in the tables is always treated as default. |
java.util.List<org.eclipse.persistence.internal.helper.DatabaseField> |
getAdditionalAggregateCollectionKeyFields()
INTERNAL: additionalAggregateCollectionKeyFields are used by aggregate descriptors to hold additional fields needed when they are stored in an AggregatateCollection These fields are generally foreign key fields that are required in addition to the fields in the descriptor's mappings to uniquely identify the Aggregate |
java.util.Map<org.eclipse.persistence.internal.helper.DatabaseTable,java.util.Map<org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.helper.DatabaseField>> |
getAdditionalTablePrimaryKeyFields()
INTERNAL: This is used to map the primary key field names in a multiple table descriptor. |
java.util.List<org.eclipse.persistence.internal.helper.DatabaseField> |
getAdditionalWritableMapKeyFields()
INTERNAL: Return a list of fields that are written by map keys Used to determine if there is a multiple writable mappings issue |
java.lang.String |
getAlias()
PUBLIC: Get the alias |
java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> |
getAllFields()
INTERNAL: Return all the fields which include all child class fields. |
java.lang.Class |
getAmendmentClass()
PUBLIC: Return the amendment class. |
java.lang.String |
getAmendmentClassName()
INTERNAL: Return amendment class name, used by the MW. |
java.lang.String |
getAmendmentMethodName()
PUBLIC: Return the amendment method. |
java.lang.Class |
getCacheInterceptorClass()
A CacheInterceptor is an adaptor that when overridden and assigned to a Descriptor all interaction between EclipseLink and the internal cache for that class will pass through the Interceptor. |
java.lang.String |
getCacheInterceptorClassName()
A CacheInterceptor is an adaptor that when overridden and assigned to a Descriptor all interaction between EclipseLink and the internal cache for that class will pass through the Interceptor. |
CacheInvalidationPolicy |
getCacheInvalidationPolicy()
PUBLIC: Return the CacheInvalidationPolicy for this descriptor For uninitialized cache invalidation policies, this will return a NoExpiryCacheInvalidationPolicy |
CacheKeyType |
getCacheKeyType()
ADVANCED: Return what cache key type to use to store the object in the cache. |
int |
getCacheSynchronizationType()
PUBLIC: Get a value indicating the type of cache synchronization that will be used on objects of this type. |
java.util.Vector |
getCascadeLockingPolicies()
INTERNAL: |
CMPPolicy |
getCMPPolicy()
ADVANCED: Return the cmp descriptor that holds cmp specific information. |
java.util.Vector |
getConstraintDependencies()
ADVANCED: automatically orders database access through the foreign key information provided in 1:1 and 1:m mappings. |
CopyPolicy |
getCopyPolicy()
INTERNAL: Returns the copy policy. |
java.lang.String |
getCopyPolicyClassName()
INTERNAL: Returns the name of a Class that implements CopyPolicy Will be instantiated as a copy policy at initialization times using the no-args constructor |
QueryRedirector |
getDefaultDeleteObjectQueryRedirector()
A Default DeleteObjectQuery Redirector will be applied to any executing DeleteObjectQuery or DeleteAllQuery that does not have a redirector set directly on the query. |
FetchGroup |
getDefaultFetchGroup()
INTERNAL: Return the default fetch group on the descriptor. |
QueryRedirector |
getDefaultInsertObjectQueryRedirector()
A Default InsertObjectQuery Redirector will be applied to any executing InsertObjectQuery that does not have a redirector set directly on the query. |
QueryRedirector |
getDefaultQueryRedirector()
A Default Query Redirector will be applied to any executing object query that does not have a more precise default (like the default ReadObjectQuery Redirector) or a redirector set directly on the query. |
QueryRedirector |
getDefaultReadAllQueryRedirector()
A Default ReadAllQuery Redirector will be applied to any executing ReadAllQuery that does not have a redirector set directly on the query. |
QueryRedirector |
getDefaultReadObjectQueryRedirector()
A Default ReadObjectQuery Redirector will be applied to any executing ReadObjectQuery that does not have a redirector set directly on the query. |
QueryRedirector |
getDefaultReportQueryRedirector()
A Default ReportQuery Redirector will be applied to any executing ReportQuery that does not have a redirector set directly on the query. |
org.eclipse.persistence.internal.helper.DatabaseTable |
getDefaultTable()
INTERNAL: The first table in the tables is always treated as default. |
QueryRedirector |
getDefaultUpdateObjectQueryRedirector()
A Default UpdateObjectQuery Redirector will be applied to any executing UpdateObjectQuery or UpdateAllQuery that does not have a redirector set directly on the query. |
java.util.Collection<DatabaseMapping> |
getDerivesIdMappinps()
ADVANCED: Return the derives id mappings. |
DescriptorEventManager |
getDescriptorEventManager()
PUBLIC: Get the event manager for the descriptor. |
InheritancePolicy |
getDescriptorInheritancePolicy()
PUBLIC: The inheritance policy is used to define how a descriptor takes part in inheritance. |
DescriptorQueryManager |
getDescriptorQueryManager()
PUBLIC: Return the queryManager. |
int |
getDescriptorType()
ADVANCED: return the descriptor type (NORMAL by default, others include INTERFACE, AGGREGATE, AGGREGATE COLLECTION) |
java.lang.String |
getDescriptorTypeValue()
INTERNAL: This method is explicitly used by the XML reader. |
DescriptorEventManager |
getEventManager()
PUBLIC: Get the event manager for the descriptor. |
FetchGroupManager |
getFetchGroupManager()
PUBLIC: Get the fetch group manager for the descriptor. |
java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> |
getFields()
INTERNAL: Return all the fields |
HistoryPolicy |
getHistoryPolicy()
PUBLIC: Return this descriptors HistoryPolicy. |
java.lang.Class |
getIdentityMapClass()
INTERNAL: Return the class of identity map to be used by this descriptor. |
int |
getIdentityMapSize()
PUBLIC: Return the size of the identity map. |
IdValidation |
getIdValidation()
ADVANCED: Return what types are allowed as a primary key (id). |
InheritancePolicy |
getInheritancePolicy()
PUBLIC: The inheritance policy is used to define how a descriptor takes part in inheritance. |
InheritancePolicy |
getInheritancePolicyOrNull()
INTERNAL: Return the inheritance policy. |
org.eclipse.persistence.internal.descriptors.InstantiationPolicy |
getInstantiationPolicy()
INTERNAL: Returns the instantiation policy. |
InterfacePolicy |
getInterfacePolicy()
PUBLIC: Returns the InterfacePolicy. |
InterfacePolicy |
getInterfacePolicyOrNull()
INTERNAL: Returns the InterfacePolicy. |
java.lang.Class |
getJavaClass()
PUBLIC: Return the java class. |
java.lang.String |
getJavaClassName()
Return the class name, used by the MW. |
java.util.List<DatabaseMapping> |
getLockableMappings()
INTERNAL: Returns a reference to the mappings that must be traverse when locking |
DatabaseMapping |
getMappingForAttributeName(java.lang.String attributeName)
PUBLIC: Returns the mapping associated with a given attribute name. |
java.util.Vector<DatabaseMapping> |
getMappings()
PUBLIC: Returns mappings |
java.util.List<DatabaseMapping> |
getMappingsPostCalculateChanges()
Mappings that require postCalculateChanges method to be called |
java.util.List<DatabaseMapping> |
getMappingsPostCalculateChangesOnDeleted()
Mappings that require mappingsPostCalculateChangesOnDeleted method to be called |
java.util.Vector |
getMultipleTableForeignKeyAssociations()
INTERNAL: Returns the foreign key relationships used for multiple tables which were specified by the user. |
java.util.Map<org.eclipse.persistence.internal.helper.DatabaseTable,java.util.Set<org.eclipse.persistence.internal.helper.DatabaseTable>> |
getMultipleTableForeignKeys()
INTERNAL: Returns the foreign key relationships used for multiple tables which were specified by the user. |
java.util.List<org.eclipse.persistence.internal.helper.DatabaseTable> |
getMultipleTableInsertOrder()
INTERNAL: Returns the List of DatabaseTables in the order which INSERTS should take place. |
java.util.Vector |
getMultipleTablePrimaryKeyAssociations()
INTERNAL: Returns the foreign key relationships used for multiple tables which were specified by the user. |
org.eclipse.persistence.internal.descriptors.ObjectBuilder |
getObjectBuilder()
INTERNAL: Return the object builder |
ObjectChangePolicy |
getObjectChangePolicy()
PUBLIC: Return this objects ObjectChangePolicy. |
ObjectChangePolicy |
getObjectChangePolicyInternal()
INTERNAL: Return this objects ObjectChangePolicy and do not lazy initialize |
org.eclipse.persistence.internal.descriptors.OptimisticLockingPolicy |
getOptimisticLockingPolicy()
PUBLIC: Returns the OptimisticLockingPolicy. |
java.util.List<DatabaseMapping> |
getPreDeleteMappings()
|
java.util.Vector<java.lang.String> |
getPrimaryKeyFieldNames()
PUBLIC: Return the names of all the primary keys. |
java.util.List<org.eclipse.persistence.internal.helper.DatabaseField> |
getPrimaryKeyFields()
INTERNAL: Return all the primary key fields |
java.util.List<IdValidation> |
getPrimaryKeyIdValidations()
ADVANCED: Return what types are allowed in each primary key field (id). |
java.util.Map |
getProperties()
PUBLIC: Returns the user defined properties. |
java.lang.Object |
getProperty(java.lang.String name)
PUBLIC: Returns the descriptor property associated the given String. |
QueryKey |
getQueryKeyNamed(java.lang.String queryKeyName)
INTERNAL: Return the query key with the specified name |
java.util.Map<java.lang.String,QueryKey> |
getQueryKeys()
PUBLIC: Return the query keys. |
DescriptorQueryManager |
getQueryManager()
PUBLIC: Return the queryManager. |
java.lang.Class |
getRemoteIdentityMapClass()
INTERNAL: Return the class of identity map to be used by this descriptor. |
int |
getRemoteIdentityMapSize()
PUBLIC: Return the size of the remote identity map. |
ReturningPolicy |
getReturningPolicy()
PUBLIC: Return returning policy. |
ClassDescriptor |
getRootDescriptor()
PUBLIC: This method returns the root descriptor for for this descriptor's class heirarchy. |
Sequence |
getSequence()
Return the descriptor's sequence. |
org.eclipse.persistence.internal.helper.DatabaseField |
getSequenceNumberField()
INTERNAL: Get sequence number field |
java.lang.String |
getSequenceNumberFieldName()
PUBLIC: Get sequence number field name |
java.lang.String |
getSequenceNumberName()
PUBLIC: Get sequence number name |
java.lang.String |
getSessionName()
INTERNAL: Return the name of the session local to this descriptor. |
org.eclipse.persistence.internal.helper.DatabaseTable |
getTable(java.lang.String tableName)
INTERNAL: Checks if table name exists with the current descriptor or not. |
java.lang.String |
getTableName()
PUBLIC: Return the name of the descriptor's first table. |
java.util.Vector |
getTableNames()
PUBLIC: Return the table names. |
TablePerClassPolicy |
getTablePerClassPolicy()
PUBLIC: Returns the TablePerClassPolicy. |
java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseTable> |
getTables()
INTERNAL: Return all the tables. |
org.eclipse.persistence.internal.helper.DatabaseField |
getTypedField(org.eclipse.persistence.internal.helper.DatabaseField field)
INTERNAL: searches first descriptor than its ReturningPolicy for an equal field |
int |
getUnitOfWorkCacheIsolationLevel()
ADVANCED: Return the unit of work cache isolation setting. |
WrapperPolicy |
getWrapperPolicy()
ADVANCED: Return the WrapperPolicy for this descriptor. |
boolean |
hasCascadeLockingPolicies()
INTERNAL: |
boolean |
hasCMPPolicy()
INTERNAL: Return if the descriptor has a CMP policy. |
boolean |
hasDependencyOnParts()
INTERNAL: Checks if the class has any private owned parts or other dependencies, (i.e. |
boolean |
hasDerivedId()
INTERNAL: returns true if users have designated one or more mappings as IDs. |
boolean |
hasFetchGroupManager()
INTERNAL: Return if the descriptor has a fetch group manager associated with. |
boolean |
hasInheritance()
INTERNAL: Return if this descriptor is involved in inheritance, (is child or parent). |
boolean |
hasInterfacePolicy()
INTERNAL: Return if this descriptor is involved in interface, (is child or parent). |
boolean |
hasMappingsPostCalculateChanges()
Are there any mappings that require postCalculateChanges method to be called. |
boolean |
hasMappingsPostCalculateChangesOnDeleted()
Are there any mappings that require mappingsPostCalculateChangesOnDeleted method to be called. |
boolean |
hasMultipleTableConstraintDependecy()
Return if any mapping reference a field in a secondary table. |
boolean |
hasMultipleTables()
INTERNAL: Check if descriptor has multiple tables |
boolean |
hasPessimisticLockingPolicy()
INTERNAL: |
boolean |
hasPreDeleteMappings()
|
boolean |
hasPrivatelyOwnedParts()
INTERNAL: Checks if the class has any private owned parts are not |
boolean |
hasQueryKeyOrMapping(java.lang.String attributeName)
INTERNAL: Checks to see if it has a query key or mapping with the specified name or not. |
boolean |
hasRelationships()
INTERNAL: return whether this descriptor has any relationships through its mappings, through inheritance, or through aggregates |
boolean |
hasReturningPolicy()
INTERNAL: Return if this descriptor has Returning policy. |
boolean |
hasSimplePrimaryKey()
INTERNAL: PERF: Return if the primary key is simple (direct-mapped) to allow fast extraction. |
boolean |
hasTablePerClassPolicy()
INTERNAL: Return if this descriptor is involved in a table per class inheritance. |
boolean |
hasWrapperPolicy()
INTERNAL: Return if a wrapper policy is used. |
void |
initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Initialize the mappings as a separate step. |
void |
initializeAggregateInheritancePolicy(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: This initialized method is used exclusively for inheritance. |
void |
initializeMultipleTablePrimaryKeyFields()
INTERNAL: Rebuild the multiple table primary key map. |
protected void |
initializeProperties(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Initialize the descriptor properties such as write lock and sequencing. |
void |
interfaceInitialization(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Allow the descriptor to initialize any dependencies on this session. |
boolean |
isAbstract()
INTERNAL: Convenience method to return true if the java class from this descriptor is abstract. |
boolean |
isAggregateCollectionDescriptor()
PUBLIC: Return true if this descriptor is an aggregate collection descriptor |
boolean |
isAggregateDescriptor()
PUBLIC: Return true if this descriptor is an aggregate descriptor |
boolean |
isChildDescriptor()
PUBLIC: Return if the descriptor defines inheritance and is a child. |
boolean |
isDescriptorForCMP()
INTERNAL: Return true if the descriptor is a CMP entity descriptor |
boolean |
isDescriptorForInterface()
PUBLIC: Return if the java class is an interface. |
boolean |
isDescriptorTypeAggregate()
PUBLIC return true if this descriptor is any type of aggregate descriptor. |
boolean |
isDescriptorTypeNormal()
INTERNAL: return true if this descriptor is an entity. |
boolean |
isFullyInitialized()
INTERNAL: Check if the descriptor is finished initialization. |
protected boolean |
isInitialized(int initializationStage)
INTERNAL: Check if descriptor is already initialized for the level of initialization. 1 = pre 2 = mapping 3 = post |
boolean |
isInterfaceChildDescriptor()
INTERNAL: Return if the descriptor defines inheritance and is a child. |
protected boolean |
isInterfaceInitialized(int interfaceInitializationStage)
INTERNAL: Check if interface descriptor is already initialized for the level of initialization. 1 = pre 2 = mapping 3 = post |
boolean |
isInvalid()
INTERNAL: Return if an error occurred during initialization which should abort any further initialization. |
boolean |
isIsolated()
PUBLIC: Returns true if the descriptor represents an isolated class |
boolean |
isMultipleTableDescriptor()
INTERNAL: Return if this descriptor has more than one table. |
boolean |
isNativeConnectionRequired()
ADVANCED: Return if the descriptor requires usage of a native (unwrapped) JDBC connection. |
boolean |
isObjectRelationalDataTypeDescriptor()
PUBLIC: Return if this is an ObjectRelationalDataTypeDescriptor. |
boolean |
isPrimaryKeySetAfterInsert(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Indicates whether pk or some of its components set after insert into the database. |
boolean |
isReturnTypeRequiredForReturningPolicy()
INTERNAL: Indicates if a return type is required for the field set on the returning policy. |
void |
onlyRefreshCacheIfNewerVersion()
PUBLIC: This method is the equivalent of calling setShouldOnlyRefreshCacheIfNewerVersion(boolean) with an argument of true :
it configures a ClassDescriptor to only refresh the cache if the data received from the database by a query is newer than
the data in the cache (as determined by the optimistic locking field) and as long as one of the following is true:
the ClassDescriptor was configured by calling alwaysRefreshCache() or alwaysRefreshCacheOnRemote() ,
the query was configured by calling ObjectLevelReadQuery.refreshIdentityMapResult() , or
the query was a call to Session.refreshObject(java.lang.Object)
However, if a query hits the cache, data is not refreshed regardless of how this setting is configured. |
void |
postInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Post initializations after mappings are initialized. |
void |
preInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Allow the descriptor to initialize any dependencies on this session. |
protected void |
preInitializeInheritancePolicy(org.eclipse.persistence.internal.sessions.AbstractSession session)
Hook together the inheritance policy tree. |
void |
preInterfaceInitialization(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Allow the descriptor to initialize any dependencies on this session. |
protected void |
prepareCascadeLockingPolicy(DatabaseMapping mapping)
INTERNAL: |
void |
rehashFieldDependancies(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Rehash any hashtables based on fields. |
void |
reInitializeJoinedAttributes()
INTERNAL: A user should not be setting which attributes to join or not to join after descriptor initialization; provided only for backwards compatibility. |
void |
remoteInitialization(DistributedSession session)
INTERNAL: Used to initialize a remote descriptor. |
DatabaseMapping |
removeMappingForAttributeName(java.lang.String attributeName)
ADVANCED: Removes the locally defined mapping associated with a given attribute name. |
void |
removeProperty(java.lang.String property)
PUBLIC: Remove the user defined property. |
boolean |
requiresInitialization()
INTERNAL: Aggregate and Interface descriptors do not require initialization as they are cloned and initialized by each mapping. |
protected void |
selfValidationAfterInitialization(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Validate that the descriptor was defined correctly. |
protected void |
selfValidationBeforeInitialization(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Validate that the descriptor's non-mapping attribute are defined correctly. |
protected void |
setAdditionalTablePrimaryKeyFields(org.eclipse.persistence.internal.helper.DatabaseTable table,
org.eclipse.persistence.internal.helper.DatabaseField field1,
org.eclipse.persistence.internal.helper.DatabaseField field2)
INTERNAL: This is used to map the primary key field names in a multiple table descriptor. |
void |
setAdditionalTablePrimaryKeyFields(java.util.Map<org.eclipse.persistence.internal.helper.DatabaseTable,java.util.Map<org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.helper.DatabaseField>> additionalTablePrimaryKeyFields)
INTERNAL: This is used to map the primary key field names in a multiple table descriptor. |
void |
setAlias(java.lang.String alias)
PUBLIC: Set the alias |
protected void |
setAllFields(java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> allFields)
INTERNAL: Set all the fields. |
void |
setAmendmentClass(java.lang.Class amendmentClass)
PUBLIC: Set the amendment class. |
void |
setAmendmentClassName(java.lang.String amendmentClassName)
INTERNAL: Return the amendment class name, used by the MW. |
void |
setAmendmentMethodName(java.lang.String amendmentMethodName)
PUBLIC: Set the amendment method. |
void |
setCacheInterceptorClass(java.lang.Class cacheInterceptorClass)
PUBLIC: A CacheInterceptor is an adaptor that when overridden and assigned to a Descriptor all interaction between EclipseLink and the internal cache for that class will pass through the Interceptor. |
void |
setCacheInterceptorClassName(java.lang.String cacheInterceptorClassName)
PUBLIC: A CacheInterceptor is an adaptor that when overridden and assigned to a Descriptor all interaction between EclipseLink and the internal cache for that class will pass through the Interceptor. |
void |
setCacheInvalidationPolicy(CacheInvalidationPolicy policy)
PUBLIC: Set the Cache Invalidation Policy for this descriptor. |
void |
setCacheKeyType(CacheKeyType cacheKeyType)
ADVANCED: Set what cache key type to use to store the object in the cache. |
void |
setCacheSynchronizationType(int type)
PUBLIC: Set the type of cache synchronization that will be used on objects of this type. |
void |
setCMPPolicy(CMPPolicy newCMPPolicy)
ADVANCED: Set the cmp descriptor that holds cmp specific information. |
void |
setConstraintDependencies(java.util.Vector constraintDependencies)
ADVANCED: automatically orders database access through the foreign key information provided in 1:1 and 1:m mappings. |
void |
setCopyPolicy(CopyPolicy policy)
INTERNAL: Set the copy policy. |
void |
setCopyPolicyClassName(java.lang.String className)
INTERNAL: Sets the name of a Class that implements CopyPolicy Will be instantiatied as a copy policy at initialization times using the no-args constructor |
void |
setDefaultDeleteObjectQueryRedirector(QueryRedirector defaultDeleteObjectQueryRedirector)
A Default DeleteObjectQuery Redirector will be applied to any executing DeleteObjectQuery or DeleteAllQuery that does not have a redirector set directly on the query. |
void |
setDefaultDeleteObjectQueryRedirectorClassName(java.lang.String defaultDeleteObjectQueryRedirectorClassName)
A Default DeleteObjectQuery Redirector will be applied to any executing DeleteObjectQuery or DeleteAllQuery that does not have a redirector set directly on the query. |
void |
setDefaultInsertObjectQueryRedirector(QueryRedirector defaultInsertQueryRedirector)
A Default InsertObjectQuery Redirector will be applied to any executing InsertObjectQuery that does not have a redirector set directly on the query. |
void |
setDefaultInsertObjectQueryRedirectorClassName(java.lang.String defaultInsertObjectQueryRedirectorClassName)
A Default InsertObjectQuery Redirector will be applied to any executing InsertObjectQuery that does not have a redirector set directly on the query. |
void |
setDefaultQueryRedirector(QueryRedirector defaultRedirector)
A Default Query Redirector will be applied to any executing object query that does not have a more precise default (like the default ReadObjectQuery Redirector) or a redirector set directly on the query. |
void |
setDefaultQueryRedirectorClassName(java.lang.String defaultQueryRedirectorClassName)
A Default Query Redirector will be applied to any executing object query that does not have a more precise default (like the default ReadObjectQuery Redirector) or a redirector set directly on the query. |
void |
setDefaultReadAllQueryRedirector(QueryRedirector defaultReadAllQueryRedirector)
A Default ReadAllQuery Redirector will be applied to any executing ReadAllQuery that does not have a redirector set directly on the query. |
void |
setDefaultReadAllQueryRedirectorClassName(java.lang.String defaultReadAllQueryRedirectorClassName)
A Default ReadAllQuery Redirector will be applied to any executing ReadAllQuery that does not have a redirector set directly on the query. |
void |
setDefaultReadObjectQueryRedirector(QueryRedirector defaultReadObjectQueryRedirector)
A Default ReadObjectQuery Redirector will be applied to any executing ReadObjectQuery that does not have a redirector set directly on the query. |
void |
setDefaultReadObjectQueryRedirectorClassName(java.lang.String defaultReadObjectQueryRedirectorClassName)
A Default ReadObjectQuery Redirector will be applied to any executing ReadObjectQuery that does not have a redirector set directly on the query. |
void |
setDefaultReportQueryRedirector(QueryRedirector defaultReportQueryRedirector)
A Default ReportQuery Redirector will be applied to any executing ReportQuery that does not have a redirector set directly on the query. |
void |
setDefaultReportQueryRedirectorClassName(java.lang.String defaultReportQueryRedirectorClassName)
A Default ReportQuery Redirector will be applied to any executing ReportQuery that does not have a redirector set directly on the query. |
void |
setDefaultTable(org.eclipse.persistence.internal.helper.DatabaseTable defaultTable)
INTERNAL: The descriptors default table can be configured if the first table is not desired. |
void |
setDefaultTableName(java.lang.String defaultTableName)
PUBLIC: The descriptors default table can be configured if the first table is not desired. |
void |
setDefaultUpdateObjectQueryRedirector(QueryRedirector defaultUpdateQueryRedirector)
A Default UpdateObjectQuery Redirector will be applied to any executing UpdateObjectQuery or UpdateAllQuery that does not have a redirector set directly on the query. |
void |
setDefaultUpdateObjectQueryRedirectorClassName(java.lang.String defaultUpdateObjectQueryRedirectorClassName)
A Default UpdateObjectQuery Redirector will be applied to any executing UpdateObjectQuery or UpdateAllQuery that does not have a redirector set directly on the query. |
void |
setDescriptorType(int descriptorType)
ADVANCED: set the descriptor type (NORMAL by default, others include INTERFACE, AGGREGATE, AGGREGATE COLLECTION) |
void |
setDescriptorTypeValue(java.lang.String value)
INTERNAL: This method is explicitly used by the XML reader. |
void |
setEventManager(DescriptorEventManager eventManager)
INTERNAL: Set the event manager for the descriptor. |
void |
setExistenceChecking(java.lang.String token)
INTERNAL: OBSOLETE - old reader. |
void |
setFetchGroupManager(FetchGroupManager fetchGroupManager)
PUBLIC: Set the fetch group manager for the descriptor. |
void |
setFields(java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> fields)
INTERNAL: Set the fields used by this descriptor. |
void |
setForeignKeyFieldNamesForMultipleTable(java.util.Vector associations)
INTERNAL: This method is used by the XML Deployment ClassDescriptor to read and write these mappings |
void |
setHasMultipleTableConstraintDependecy(boolean hasMultipleTableConstraintDependecy)
Set if any mapping reference a field in a secondary table. |
void |
setHasRelationships(boolean hasRelationships)
INTERNAL: set whether this descriptor has any relationships through its mappings, through inheritance, or through aggregates |
void |
setHasSimplePrimaryKey(boolean hasSimplePrimaryKey)
INTERNAL: PERF: Set if the primary key is simple (direct-mapped) to allow fast extraction. |
void |
setHistoryPolicy(HistoryPolicy policy)
PUBLIC: Set the HistoryPolicy for this descriptor. |
void |
setIdentityMapClass(java.lang.Class theIdentityMapClass)
PUBLIC: Set the class of identity map to be used by this descriptor. |
void |
setIdentityMapSize(int identityMapSize)
PUBLIC: Set the size of the identity map to be used by this descriptor. |
void |
setIdValidation(IdValidation idValidation)
ADVANCED: Set what types are allowed as a primary key (id). |
void |
setInheritancePolicy(InheritancePolicy inheritancePolicy)
INTERNAL: Sets the inheritance policy. |
protected void |
setInitializationStage(int initializationStage)
INTERNAL: |
void |
setInstantiationPolicy(org.eclipse.persistence.internal.descriptors.InstantiationPolicy instantiationPolicy)
INTERNAL: Sets the instantiation policy. |
protected void |
setInterfaceInitializationStage(int interfaceInitializationStage)
INTERNAL: |
void |
setInterfacePolicy(InterfacePolicy interfacePolicy)
INTERNAL: Sets the interface policy. |
void |
setInternalDefaultTable()
INTERNAL: Set the default table if one if not already set. |
void |
setInternalDefaultTable(org.eclipse.persistence.internal.helper.DatabaseTable defaultTable)
INTERNAL: Set the default table if one if not already set. |
void |
setIsIsolated(boolean isIsolated)
PUBLIC: Used to set if the class that this descriptor represents should be isolated from the shared cache. |
void |
setIsNativeConnectionRequired(boolean isNativeConnectionRequired)
ADVANCED: Set if the descriptor requires usage of a native (unwrapped) JDBC connection. |
void |
setJavaClass(java.lang.Class theJavaClass)
PUBLIC: Set the Java class that this descriptor maps. |
void |
setJavaClassName(java.lang.String theJavaClassName)
INTERNAL: Return the java class name, used by the MW. |
void |
setJavaInterface(java.lang.Class theJavaInterface)
PUBLIC: Sets the descriptor to be for an interface. |
void |
setJavaInterfaceName(java.lang.String theJavaInterfaceName)
INTERNAL: Return the java interface name, used by the MW. |
void |
setLockableMappings(java.util.List<DatabaseMapping> lockableMappings)
INTERNAL: Set the list of lockable mappings for this project This method is provided for CMP use. |
void |
setMappings(java.util.Vector<DatabaseMapping> mappings)
INTERNAL: Set the mappings. |
protected void |
setMultipleTableForeignKeys(java.util.Map<org.eclipse.persistence.internal.helper.DatabaseTable,java.util.Set<org.eclipse.persistence.internal.helper.DatabaseTable>> newValue)
INTERNAL: |
void |
setMultipleTableInsertOrder(java.util.List<org.eclipse.persistence.internal.helper.DatabaseTable> newValue)
ADVANCED: Sets the List of DatabaseTables in the order which INSERTS should take place. |
protected void |
setObjectBuilder(org.eclipse.persistence.internal.descriptors.ObjectBuilder builder)
INTERNAL: Set the ObjectBuilder. |
void |
setObjectChangePolicy(ObjectChangePolicy policy)
PUBLIC: Set the ObjectChangePolicy for this descriptor. |
void |
setOptimisticLockingPolicy(org.eclipse.persistence.internal.descriptors.OptimisticLockingPolicy optimisticLockingPolicy)
PUBLIC: Set the OptimisticLockingPolicy. |
void |
setPrimaryKeyFieldName(java.lang.String fieldName)
PUBLIC: Specify the primary key field of the descriptors table. |
void |
setPrimaryKeyFieldNames(java.util.Vector primaryKeyFieldsName)
PUBLIC: User can specify a vector of all the primary key field names if primary key is composite. |
void |
setPrimaryKeyFields(java.util.List<org.eclipse.persistence.internal.helper.DatabaseField> thePrimaryKeyFields)
INTERNAL: Set the primary key fields |
void |
setPrimaryKeyIdValidations(java.util.List<IdValidation> primaryKeyIdValidations)
ADVANCED: Return what types are allowed in each primary key field (id). |
void |
setProperties(java.util.Map properties)
INTERNAL: Set the user defined properties. |
void |
setProperty(java.lang.String name,
java.lang.Object value)
PUBLIC: Set the user defined property. |
void |
setQueryKeys(java.util.Map<java.lang.String,QueryKey> queryKeys)
INTERNAL: Set the query keys. |
void |
setQueryManager(DescriptorQueryManager queryManager)
INTERNAL: Set the query manager. |
void |
setReadOnly()
PUBLIC: Set the descriptor to be read-only. |
void |
setRemoteIdentityMapClass(java.lang.Class theIdentityMapClass)
PUBLIC: Set the class of identity map to be used by this descriptor. |
void |
setRemoteIdentityMapSize(int identityMapSize)
PUBLIC: Set the size of the identity map to be used by this descriptor. |
void |
setReturningPolicy(ReturningPolicy returningPolicy)
PUBLIC: Sets the returning policy. |
void |
setSequence(Sequence sequence)
Set the descriptor's sequence. |
void |
setSequenceNumberField(org.eclipse.persistence.internal.helper.DatabaseField sequenceNumberField)
INTERNAL: Set the sequence number field. |
void |
setSequenceNumberFieldName(java.lang.String fieldName)
PUBLIC: Set the sequence number field name. |
void |
setSequenceNumberName(java.lang.String name)
PUBLIC: Set the sequence number name. |
protected void |
setSessionName(java.lang.String sessionName)
INTERNAL: Set the name of the session local to this descriptor. |
void |
setShouldAcquireCascadedLocks(boolean shouldAcquireCascadedLocks)
INTERNAL: PERF: Set if deferred locks should be used. |
void |
setShouldAlwaysConformResultsInUnitOfWork(boolean shouldAlwaysConformResultsInUnitOfWork)
PUBLIC: set if the descriptor is defined to always conform the results in unit of work in read query. |
void |
setShouldAlwaysRefreshCache(boolean shouldAlwaysRefreshCache)
PUBLIC: When the shouldAlwaysRefreshCache argument passed into this method is true ,
this method configures a ClassDescriptor to always refresh the cache if data is received from
the database by any query. |
void |
setShouldAlwaysRefreshCacheOnRemote(boolean shouldAlwaysRefreshCacheOnRemote)
PUBLIC: When the shouldAlwaysRefreshCacheOnRemote argument passed into this method is true ,
this method configures a ClassDescriptor to always remotely refresh the cache if data is received from
the database by any query in a RemoteSession . |
void |
setShouldBeReadOnly(boolean shouldBeReadOnly)
PUBLIC: Define if the descriptor reference class is read-only |
void |
setShouldDisableCacheHits(boolean shouldDisableCacheHits)
PUBLIC: Set if cache hits on primary key read object queries should be disabled. |
void |
setShouldDisableCacheHitsOnRemote(boolean shouldDisableCacheHitsOnRemote)
PUBLIC: Set if the remote session cache hits on primary key read object queries is allowed or not. |
void |
setShouldOnlyRefreshCacheIfNewerVersion(boolean shouldOnlyRefreshCacheIfNewerVersion)
PUBLIC: When the shouldOnlyRefreshCacheIfNewerVersion argument passed into this method is true ,
this method configures a ClassDescriptor to only refresh the cache if the data received from the database
by a query is newer than the data in the cache (as determined by the optimistic locking field) and as long as one of the following is true:
the ClassDescriptor was configured by calling alwaysRefreshCache() or alwaysRefreshCacheOnRemote() ,
the query was configured by calling ObjectLevelReadQuery.refreshIdentityMapResult() , or
the query was a call to Session.refreshObject(java.lang.Object)
However, if a query hits the cache, data is not refreshed regardless of how this setting is configured. |
void |
setShouldOrderMappings(boolean shouldOrderMappings)
PUBLIC: This is set to turn off the ordering of mappings. |
void |
setShouldRegisterResultsInUnitOfWork(boolean shouldRegisterResultsInUnitOfWork)
INTERNAL: Set to false to have queries conform to a UnitOfWork without registering any additional objects not already in that UnitOfWork. |
void |
setTableName(java.lang.String tableName)
PUBLIC: Specify the table name for the class of objects the receiver describes. |
void |
setTableNames(java.util.Vector tableNames)
PUBLIC: Specify the all table names for the class of objects the receiver describes. |
void |
setTablePerClassPolicy(TablePerClassPolicy tablePerClassPolicy)
INTERNAL: Sets the table per class policy. |
void |
setTableQualifier(java.lang.String tableQualifier)
PUBLIC: Set the table Qualifier for this descriptor. |
void |
setTables(java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseTable> theTables)
INTERNAL: Sets the tables |
void |
setUnitOfWorkCacheIsolationLevel(int unitOfWorkCacheIsolationLevel)
ADVANCED: This setting configures how the session cache will be used in a unit of work. |
void |
setWrapperPolicy(WrapperPolicy wrapperPolicy)
ADVANCED: Sets the WrapperPolicy for this descriptor. |
boolean |
shouldAcquireCascadedLocks()
INTERNAL: PERF: Return if deferred locks should be used. |
boolean |
shouldAlwaysConformResultsInUnitOfWork()
PUBLIC: Return if the descriptor is defined to always conform the results in unit of work in read query. |
boolean |
shouldAlwaysRefreshCache()
PUBLIC: This method returns true if the ClassDescriptor is configured to always refresh
the cache if data is received from the database by any query. |
boolean |
shouldAlwaysRefreshCacheOnRemote()
PUBLIC: This method returns true if the ClassDescriptor is configured to always remotely
refresh the cache if data is received from the database by any query in a RemoteSession . |
boolean |
shouldBeReadOnly()
PUBLIC: Return if the descriptor reference class is defined as read-only |
boolean |
shouldDisableCacheHits()
PUBLIC: Return if for cache hits on primary key read object queries to be disabled. |
boolean |
shouldDisableCacheHitsOnRemote()
PUBLIC: Return if the remote server session cache hits on primary key read object queries is aloowed or not. |
boolean |
shouldIsolateObjectsInUnitOfWork()
INTERNAL: Return if the unit of work should by-pass the session cache. |
boolean |
shouldIsolateObjectsInUnitOfWorkEarlyTransaction()
INTERNAL: Return if the unit of work should by-pass the session cache after an early transaction. |
boolean |
shouldOnlyRefreshCacheIfNewerVersion()
PUBLIC: This method returns true if the ClassDescriptor is configured to only refresh the cache
if the data received from the database by a query is newer than the data in the cache (as determined by the
optimistic locking field). |
boolean |
shouldOrderMappings()
INTERNAL: Return if mappings should be ordered or not. |
boolean |
shouldRegisterResultsInUnitOfWork()
INTERNAL: Allows one to do conforming in a UnitOfWork without registering. |
boolean |
shouldUseCacheIdentityMap()
PUBLIC: Return true if this descriptor is using CacheIdentityMap |
boolean |
shouldUseFullChangeSetsForNewObjects()
INTERNAL: Return if change sets are required for new objects. |
boolean |
shouldUseFullIdentityMap()
PUBLIC: Return true if this descriptor is using FullIdentityMap |
boolean |
shouldUseHardCacheWeakIdentityMap()
PUBLIC: Return true if this descriptor is using HardCacheWeakIdentityMap. |
boolean |
shouldUseNoIdentityMap()
PUBLIC: Return true if this descriptor is using NoIdentityMap |
boolean |
shouldUseRemoteCacheIdentityMap()
PUBLIC: Return true if this descriptor is using CacheIdentityMap |
boolean |
shouldUseRemoteFullIdentityMap()
PUBLIC: Return true if this descriptor is using FullIdentityMap |
boolean |
shouldUseRemoteHardCacheWeakIdentityMap()
PUBLIC: Return true if this descriptor is using HardCacheWeakIdentityMap |
boolean |
shouldUseRemoteNoIdentityMap()
PUBLIC: Return true if this descriptor is using NoIdentityMap |
boolean |
shouldUseRemoteSoftCacheWeakIdentityMap()
PUBLIC: Return true if this descriptor is using SoftCacheWeakIdentityMap |
boolean |
shouldUseRemoteSoftIdentityMap()
PUBLIC: Return true if this descriptor is using SoftIdentityMap |
boolean |
shouldUseRemoteWeakIdentityMap()
PUBLIC: Return true if this descriptor is using WeakIdentityMap |
boolean |
shouldUseSessionCacheInUnitOfWorkEarlyTransaction()
INTERNAL: Return if the unit of work should use the session cache after an early transaction. |
boolean |
shouldUseSoftCacheWeakIdentityMap()
PUBLIC: Return true if this descriptor is using SoftCacheWeakIdentityMap. |
boolean |
shouldUseSoftIdentityMap()
PUBLIC: Return true if this descriptor is using SoftIdentityMap |
boolean |
shouldUseWeakIdentityMap()
PUBLIC: Return true if this descriptor is using WeakIdentityMap |
boolean |
supportsChangeTracking(Project project)
INTERNAL: Returns whether this descriptor is capable of supporting weaved change tracking. |
protected void |
toggleAdditionalTablePrimaryKeyFields()
INTERNAL: Eclipselink needs additionalTablePKFields entries to be associated with tables other than the main (getTables.get(0)) one. |
java.lang.String |
toString()
PUBLIC: Returns a brief string representation of the receiver. |
void |
useAllFieldsLocking()
PUBLIC: Set the locking policy an all fields locking policy. |
void |
useCacheIdentityMap()
PUBLIC: Set the class of identity map to be the cache identity map. |
void |
useChangedFieldsLocking()
PUBLIC: Set the locking policy a changed fields locking policy. |
void |
useCloneCopyPolicy()
PUBLIC: Specifies that the creation of clones within a unit of work is done by sending the #clone() method to the original object. |
void |
useCloneCopyPolicy(java.lang.String cloneMethodName)
PUBLIC: Specifies that the creation of clones within a unit of work is done by sending the cloneMethodName method to the original object. |
void |
useDefaultConstructorInstantiationPolicy()
PUBLIC: Use the default constructor to create new instances of objects built from the database. |
void |
useFactoryInstantiationPolicy(java.lang.Class factoryClass,
java.lang.String methodName)
PUBLIC: Use an object factory to create new instances of objects built from the database. |
void |
useFactoryInstantiationPolicy(java.lang.Class factoryClass,
java.lang.String methodName,
java.lang.String factoryMethodName)
PUBLIC: Use an object factory to create new instances of objects built from the database. |
void |
useFactoryInstantiationPolicy(java.lang.Object factory,
java.lang.String methodName)
PUBLIC: Use an object factory to create new instances of objects built from the database. |
void |
useFactoryInstantiationPolicy(java.lang.String factoryClassName,
java.lang.String methodName)
INTERNAL: Set the factory class name, used by the MW. |
void |
useFactoryInstantiationPolicy(java.lang.String factoryClassName,
java.lang.String methodName,
java.lang.String factoryMethodName)
INTERNAL: Set the factory class name, used by the MW. |
void |
useFullIdentityMap()
PUBLIC: Set the class of identity map to be the full identity map. |
void |
useHardCacheWeakIdentityMap()
PUBLIC: Set the class of identity map to be the hard cache weak identity map. |
void |
useInstantiationCopyPolicy()
PUBLIC: Specifies that the creation of clones within a unit of work is done by building a new instance using the technique indicated by the descriptor's instantiation policy (which by default is to use the the default constructor). |
void |
useMethodInstantiationPolicy(java.lang.String staticMethodName)
PUBLIC: Use the specified static method to create new instances of objects built from the database. |
void |
useNoIdentityMap()
PUBLIC: Set the class of identity map to be the no identity map. |
void |
useRemoteCacheIdentityMap()
PUBLIC: Set the class of identity map to be the cache identity map. |
void |
useRemoteFullIdentityMap()
PUBLIC: Set the class of identity map to be the full identity map. |
void |
useRemoteHardCacheWeakIdentityMap()
PUBLIC: Set the class of identity map to be the hard cache weak identity map. |
void |
useRemoteNoIdentityMap()
PUBLIC: Set the class of identity map to be the no identity map. |
void |
useRemoteSoftCacheWeakIdentityMap()
PUBLIC: Set the class of identity map to be the soft cache weak identity map. |
void |
useRemoteSoftIdentityMap()
PUBLIC: Set the class of identity map to be the soft identity map. |
void |
useRemoteWeakIdentityMap()
PUBLIC: Set the class of identity map to be the weak identity map. |
void |
useSelectedFieldsLocking(java.util.Vector fieldNames)
PUBLIC: Set the locking policy a selected fields locking policy. |
boolean |
usesFieldLocking()
INTERNAL: Return true if the receiver uses either all or changed fields for optimistic locking. |
void |
useSoftCacheWeakIdentityMap()
PUBLIC: Set the class of identity map to be the soft cache weak identity map. |
void |
useSoftIdentityMap()
PUBLIC: Set the class of identity map to be the soft identity map. |
boolean |
usesOptimisticLocking()
PUBLIC: Return true if the receiver uses write (optimistic) locking. |
boolean |
usesSequenceNumbers()
PUBLIC: Return true if the receiver uses sequence numbers. |
boolean |
usesVersionLocking()
PUBLIC: Return true if the receiver uses version optimistic locking. |
void |
useTimestampLocking(java.lang.String writeLockFieldName)
PUBLIC: Use the Timestamps locking policy and storing the value in the cache key #see useVersionLocking(String) |
void |
useTimestampLocking(java.lang.String writeLockFieldName,
boolean shouldStoreInCache)
PUBLIC: Set the locking policy to use timestamp version locking. |
void |
useVersionLocking(java.lang.String writeLockFieldName)
PUBLIC: Default to use the version locking policy and storing the value in the cache key #see useVersionLocking(String) |
void |
useVersionLocking(java.lang.String writeLockFieldName,
boolean shouldStoreInCache)
PUBLIC: Set the locking policy to use numeric version locking. |
void |
useWeakIdentityMap()
PUBLIC: Set the class of identity map to be the weak identity map. |
protected void |
validateAfterInitialization(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Validate the entire post-initialization descriptor. |
protected void |
validateBeforeInitialization(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Validate the entire pre-initialization descriptor. |
protected void |
validateMappingType(DatabaseMapping mapping)
|
protected void |
verifyMultipleTableInsertOrder()
INTERNAL: Verify multiple table insert order provided by the user. |
protected void |
verifyMultipleTablesForeignKeysTables()
INTERNAL: Verify that the tables specified in multipleTablesForeignKeysTables are valid. |
protected void |
verifyTableQualifiers(org.eclipse.persistence.internal.databaseaccess.Platform platform)
INTERNAL: Check that the qualifier on the table names are properly set. |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected java.lang.Class javaClass
protected java.lang.String javaClassName
protected java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseTable> tables
protected transient org.eclipse.persistence.internal.helper.DatabaseTable defaultTable
protected java.util.List<org.eclipse.persistence.internal.helper.DatabaseField> primaryKeyFields
protected transient java.util.Map<org.eclipse.persistence.internal.helper.DatabaseTable,java.util.Map<org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.helper.DatabaseField>> additionalTablePrimaryKeyFields
protected transient java.util.List<org.eclipse.persistence.internal.helper.DatabaseTable> multipleTableInsertOrder
protected transient java.util.Map<org.eclipse.persistence.internal.helper.DatabaseTable,java.util.Set<org.eclipse.persistence.internal.helper.DatabaseTable>> multipleTableForeignKeys
protected transient java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> fields
protected transient java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> allFields
protected java.util.Vector<DatabaseMapping> mappings
protected java.util.List<DatabaseMapping> lockableMappings
protected java.util.Map<java.lang.String,QueryKey> queryKeys
protected java.lang.Class identityMapClass
protected java.lang.Class remoteIdentityMapClass
protected int identityMapSize
protected int remoteIdentityMapSize
protected java.lang.String sequenceNumberName
protected org.eclipse.persistence.internal.helper.DatabaseField sequenceNumberField
protected transient java.lang.String sessionName
protected boolean shouldAlwaysRefreshCache
protected boolean shouldOnlyRefreshCacheIfNewerVersion
protected boolean shouldDisableCacheHits
protected transient java.util.Vector constraintDependencies
protected transient java.lang.String amendmentMethodName
protected transient java.lang.Class amendmentClass
protected transient java.lang.String amendmentClassName
protected boolean shouldAlwaysRefreshCacheOnRemote
protected boolean shouldDisableCacheHitsOnRemote
protected java.lang.String alias
protected boolean shouldBeReadOnly
protected boolean shouldAlwaysConformResultsInUnitOfWork
protected java.lang.Boolean isIsolated
protected boolean shouldRegisterResultsInUnitOfWork
protected DescriptorEventManager eventManager
protected DescriptorQueryManager queryManager
protected org.eclipse.persistence.internal.descriptors.ObjectBuilder objectBuilder
protected CopyPolicy copyPolicy
protected java.lang.String copyPolicyClassName
protected org.eclipse.persistence.internal.descriptors.InstantiationPolicy instantiationPolicy
protected InheritancePolicy inheritancePolicy
protected InterfacePolicy interfacePolicy
protected org.eclipse.persistence.internal.descriptors.OptimisticLockingPolicy optimisticLockingPolicy
protected java.util.Vector cascadeLockingPolicies
protected WrapperPolicy wrapperPolicy
protected ObjectChangePolicy changePolicy
protected ReturningPolicy returningPolicy
protected HistoryPolicy historyPolicy
protected CMPPolicy cmpPolicy
protected FetchGroupManager fetchGroupManager
protected java.util.Map properties
protected transient int initializationStage
protected transient int interfaceInitializationStage
protected static final int UNINITIALIZED
protected static final int PREINITIALIZED
protected static final int INITIALIZED
protected static final int POST_INITIALIZED
protected static final int ERROR
protected int descriptorType
protected static final int NORMAL
protected static final int INTERFACE
protected static final int AGGREGATE
protected static final int AGGREGATE_COLLECTION
protected boolean shouldOrderMappings
protected CacheInvalidationPolicy cacheInvalidationPolicy
protected boolean shouldAcquireCascadedLocks
protected boolean hasSimplePrimaryKey
protected boolean hasMultipleTableConstraintDependecy
protected int cacheSynchronizationType
public static final int UNDEFINED_OBJECT_CHANGE_BEHAVIOR
public static final int SEND_OBJECT_CHANGES
public static final int INVALIDATE_CHANGED_OBJECTS
public static final int SEND_NEW_OBJECTS_WITH_CHANGES
public static final int DO_NOT_SEND_CHANGES
protected int unitOfWorkCacheIsolationLevel
public static final int UNDEFINED_ISOLATATION
public static final int USE_SESSION_CACHE_AFTER_TRANSACTION
public static final int ISOLATE_NEW_DATA_AFTER_TRANSACTION
public static final int ISOLATE_CACHE_AFTER_TRANSACTION
public static final int ISOLATE_CACHE_ALWAYS
public static boolean shouldUseFullChangeSetsForNewObjects
protected boolean isNativeConnectionRequired
protected IdValidation idValidation
protected java.util.List<IdValidation> primaryKeyIdValidations
protected CacheKeyType cacheKeyType
protected java.util.Map<java.lang.String,DatabaseMapping> derivesIdMappings
protected java.lang.Class cacheInterceptorClass
protected java.lang.String cacheInterceptorClassName
protected QueryRedirector defaultQueryRedirector
protected QueryRedirector defaultReadAllQueryRedirector
protected QueryRedirector defaultReadObjectQueryRedirector
protected QueryRedirector defaultReportQueryRedirector
protected QueryRedirector defaultUpdateObjectQueryRedirector
protected QueryRedirector defaultInsertObjectQueryRedirector
protected QueryRedirector defaultDeleteObjectQueryRedirector
protected java.lang.String defaultQueryRedirectorClassName
protected java.lang.String defaultReadAllQueryRedirectorClassName
protected java.lang.String defaultReadObjectQueryRedirectorClassName
protected java.lang.String defaultReportQueryRedirectorClassName
protected java.lang.String defaultUpdateObjectQueryRedirectorClassName
protected java.lang.String defaultInsertObjectQueryRedirectorClassName
protected java.lang.String defaultDeleteObjectQueryRedirectorClassName
protected Sequence sequence
protected java.util.List<DatabaseMapping> mappingsPostCalculateChanges
protected java.util.List<DatabaseMapping> mappingsPostCalculateChangesOnDeleted
protected transient java.util.List<org.eclipse.persistence.internal.helper.DatabaseField> additionalAggregateCollectionKeyFields
protected java.util.List<DatabaseMapping> preDeleteMappings
protected transient java.util.List<org.eclipse.persistence.internal.helper.DatabaseField> additionalWritableMapKeyFields
protected boolean hasRelationships
Constructor Detail |
---|
public ClassDescriptor()
Method Detail |
---|
public void addAbstractQueryKey(java.lang.String queryKeyName)
public void addCascadeLockingPolicy(org.eclipse.persistence.internal.descriptors.CascadeLockingPolicy policy)
policy
- - the CascadeLockingPolicypublic void addConstraintDependencies(java.lang.Class dependencies)
public void addConstraintDependency(java.lang.Class dependencies)
public DatabaseMapping addDirectMapping(java.lang.String attributeName, java.lang.String fieldName)
attributeName
- is the name of an instance variable of the
class which the receiver describes.fieldName
- is the name of the database column which corresponds
with the designated instance variable.
public DatabaseMapping addDirectMapping(java.lang.String attributeName, java.lang.String getMethodName, java.lang.String setMethodName, java.lang.String fieldName)
public void addDirectQueryKey(java.lang.String queryKeyName, java.lang.String fieldName)
public void addForeignKeyFieldNameForMultipleTable(java.lang.String sourceForeignKeyFieldName, java.lang.String targetPrimaryKeyFieldName) throws DescriptorException
DescriptorException
public void addForeignKeyFieldForMultipleTable(org.eclipse.persistence.internal.helper.DatabaseField sourceForeignKeyField, org.eclipse.persistence.internal.helper.DatabaseField targetPrimaryKeyField) throws DescriptorException
DescriptorException
public DatabaseMapping addMapping(DatabaseMapping mapping)
protected void validateMappingType(DatabaseMapping mapping)
public void addPrimaryKeyFieldName(java.lang.String fieldName)
#addMultipleTableForeignKeyFieldName(String, String);
public void addPrimaryKeyField(org.eclipse.persistence.internal.helper.DatabaseField field)
public void addQueryKey(QueryKey queryKey)
public void addTable(org.eclipse.persistence.internal.helper.DatabaseTable table)
public void addTableName(java.lang.String tableName)
public void adjustMultipleTableInsertOrder()
public void alwaysConformResultsInUnitOfWork()
public void alwaysRefreshCache()
setShouldAlwaysRefreshCache(boolean)
with an argument of true
:
it configures a ClassDescriptor
to always refresh the cache if data is received from the database by any query.
However, if a query hits the cache, data is not refreshed regardless of how this setting is configured. For example, by
default, when a query for a single object based on its primary key is executed, OracleAS TopLink will first look in the
cache for the object. If the object is in the cache, the cached object is returned and data is not refreshed. To avoid
cache hits, use the disableCacheHits()
method.
Also note that the UnitOfWork
will not refresh its registered objects.
Use this property with caution because it can lead to poor performance and may refresh on queries when it is not desired. Normally,
if you require fresh data, it is better to configure a query with ObjectLevelReadQuery.refreshIdentityMapResult()
.
To ensure that refreshes are only done when required, use this method in conjunction with onlyRefreshCacheIfNewerVersion()
.
dontAlwaysRefreshCache()
public void alwaysRefreshCacheOnRemote()
setShouldAlwaysRefreshCacheOnRemote(boolean)
with an argument of true
:
it configures a ClassDescriptor
to always remotely refresh the cache if data is received from the database by any
query in a RemoteSession
.
However, if a query hits the cache, data is not refreshed regardless of how this setting is configured. For example, by
default, when a query for a single object based on its primary key is executed, OracleAS TopLink will first look in the
cache for the object. If the object is in the cache, the cached object is returned and data is not refreshed. To avoid
cache hits, use the disableCacheHitsOnRemote()
method.
Also note that the UnitOfWork
will not refresh its registered objects.
Use this property with caution because it can lead to poor performance and may refresh on queries when it is not desired.
Normally, if you require fresh data, it is better to configure a query with ObjectLevelReadQuery.refreshIdentityMapResult()
.
To ensure that refreshes are only done when required, use this method in conjunction with onlyRefreshCacheIfNewerVersion()
.
dontAlwaysRefreshCacheOnRemote()
public void applyAmendmentMethod()
public void applyAmendmentMethod(DescriptorEvent event)
public boolean arePrimaryKeyFields(java.util.Vector fields)
protected void assignDefaultValues(org.eclipse.persistence.internal.sessions.AbstractSession session)
public org.eclipse.persistence.internal.databaseaccess.DatabaseCall buildCallFromStatement(org.eclipse.persistence.internal.expressions.SQLStatement statement, org.eclipse.persistence.internal.sessions.AbstractSession session)
public java.util.Vector buildDirectValuesFromFieldValue(java.lang.Object fieldValue) throws DatabaseException
DatabaseException
public org.eclipse.persistence.internal.helper.DatabaseField buildField(java.lang.String fieldName)
public org.eclipse.persistence.internal.helper.DatabaseField buildField(org.eclipse.persistence.internal.helper.DatabaseField field)
public org.eclipse.persistence.internal.helper.DatabaseField buildField(org.eclipse.persistence.internal.helper.DatabaseField field, org.eclipse.persistence.internal.helper.DatabaseTable relationTable)
public java.lang.Object buildFieldValueFromDirectValues(java.util.Vector directValues, java.lang.String elementDataTypeName, org.eclipse.persistence.internal.sessions.AbstractSession session) throws DatabaseException
DatabaseException
public java.lang.Object buildFieldValueFromForeignKeys(java.util.Vector foreignKeys, java.lang.String referenceDataTypeName, org.eclipse.persistence.internal.sessions.AbstractSession session) throws DatabaseException
DatabaseException
public java.lang.Object buildFieldValueFromNestedRow(org.eclipse.persistence.internal.sessions.AbstractRecord nestedRow, org.eclipse.persistence.internal.sessions.AbstractSession session) throws DatabaseException
DatabaseException
public java.lang.Object buildFieldValueFromNestedRows(java.util.Vector nestedRows, java.lang.String structureName, org.eclipse.persistence.internal.sessions.AbstractSession session) throws DatabaseException
DatabaseException
public org.eclipse.persistence.internal.sessions.AbstractRecord buildNestedRowFromFieldValue(java.lang.Object fieldValue) throws DatabaseException
DatabaseException
public java.util.Vector buildNestedRowsFromFieldValue(java.lang.Object fieldValue, org.eclipse.persistence.internal.sessions.AbstractSession session) throws DatabaseException
DatabaseException
protected void checkDatabase(org.eclipse.persistence.internal.sessions.AbstractSession session)
public void checkInheritanceTreeAggregateSettings(org.eclipse.persistence.internal.sessions.AbstractSession session, AggregateMapping mapping) throws DescriptorException
DescriptorException
protected void createMultipleTableInsertOrder()
protected void verifyMultipleTableInsertOrder()
protected void verifyMultipleTablesForeignKeysTables()
protected int[][] createTableComparison(java.util.List<org.eclipse.persistence.internal.helper.DatabaseTable> tables, int nStart)
protected void createMultipleTableInsertOrderFromComparison(int[][] tableComparison, int nStart)
protected boolean createTableOrder(int k, int nTables, int[] tableOrder, int[][] tableComparison)
public java.lang.Object clone()
clone
in class java.lang.Object
public void convertClassNamesToClasses(java.lang.ClassLoader classLoader)
classLoader
- public void createCopyPolicy(java.lang.String policyType)
public void createInstantiationPolicy(java.lang.String policyType)
public void descriptorIsAggregate()
public void descriptorIsAggregateCollection()
public void descriptorIsForInterface()
public void descriptorIsNormal()
public void disableCacheHits()
alwaysRefreshCache()
or alwaysRefreshCacheOnRemote()
to ensure queries always go to the database.
public void disableCacheHitsOnRemote()
alwaysRefreshCacheOnRemote()
public void dontAlwaysConformResultsInUnitOfWork()
public void dontAlwaysRefreshCache()
setShouldAlwaysRefreshCache(boolean)
with an argument of false
:
it ensures that a ClassDescriptor
is not configured to always refresh the cache if data is received from the database by any query.
alwaysRefreshCache()
public void dontAlwaysRefreshCacheOnRemote()
setShouldAlwaysRefreshCacheOnRemote(boolean)
with an argument of false
:
it ensures that a ClassDescriptor
is not configured to always remotely refresh the cache if data is received from the
database by any query in a RemoteSession
.
alwaysRefreshCacheOnRemote()
public void dontDisableCacheHits()
disableCacheHits()
public void dontDisableCacheHitsOnRemote()
disableCacheHitsOnRemote()
public void dontOnlyRefreshCacheIfNewerVersion()
setShouldOnlyRefreshCacheIfNewerVersion(boolean)
with an argument of false
:
it ensures that a ClassDescriptor
is not configured to only refresh the cache if the data received from the database by
a query is newer than the data in the cache (as determined by the optimistic locking field).
onlyRefreshCacheIfNewerVersion()
protected org.eclipse.persistence.internal.helper.DatabaseTable extractDefaultTable()
public java.util.List<org.eclipse.persistence.internal.helper.DatabaseField> getAdditionalAggregateCollectionKeyFields()
public java.util.Map<org.eclipse.persistence.internal.helper.DatabaseTable,java.util.Map<org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.helper.DatabaseField>> getAdditionalTablePrimaryKeyFields()
public java.util.List<org.eclipse.persistence.internal.helper.DatabaseField> getAdditionalWritableMapKeyFields()
public java.lang.String getAlias()
public java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> getAllFields()
public java.lang.Class getAmendmentClass()
public java.lang.String getAmendmentClassName()
public java.lang.String getAmendmentMethodName()
public ObjectChangePolicy getObjectChangePolicy()
public ObjectChangePolicy getObjectChangePolicyInternal()
public HistoryPolicy getHistoryPolicy()
public java.lang.Class getCacheInterceptorClass()
CacheInterceptor
public java.lang.String getCacheInterceptorClassName()
CacheInterceptor
public CacheInvalidationPolicy getCacheInvalidationPolicy()
CacheInvalidationPolicy
public int getCacheSynchronizationType()
public java.util.Vector getCascadeLockingPolicies()
public java.util.Vector getConstraintDependencies()
public CopyPolicy getCopyPolicy()
public java.lang.String getCopyPolicyClassName()
public org.eclipse.persistence.internal.helper.DatabaseTable getDefaultTable()
public int getDescriptorType()
public java.lang.String getDescriptorTypeValue()
public java.util.Collection<DatabaseMapping> getDerivesIdMappinps()
public DescriptorEventManager getDescriptorEventManager()
public DescriptorEventManager getEventManager()
public java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> getFields()
public java.lang.Class getIdentityMapClass()
public int getIdentityMapSize()
public InheritancePolicy getDescriptorInheritancePolicy()
public InheritancePolicy getInheritancePolicy()
public InheritancePolicy getInheritancePolicyOrNull()
public org.eclipse.persistence.internal.descriptors.InstantiationPolicy getInstantiationPolicy()
public InterfacePolicy getInterfacePolicy()
public InterfacePolicy getInterfacePolicyOrNull()
public java.lang.Class getJavaClass()
public java.lang.String getJavaClassName()
public java.util.List<DatabaseMapping> getLockableMappings()
public DatabaseMapping getMappingForAttributeName(java.lang.String attributeName)
public DatabaseMapping removeMappingForAttributeName(java.lang.String attributeName)
public java.util.Vector<DatabaseMapping> getMappings()
public java.util.Vector getMultipleTableForeignKeyAssociations()
adjustMultipleTableInsertOrder()
public java.util.Map<org.eclipse.persistence.internal.helper.DatabaseTable,java.util.Set<org.eclipse.persistence.internal.helper.DatabaseTable>> getMultipleTableForeignKeys()
adjustMultipleTableInsertOrder()
public java.util.List<org.eclipse.persistence.internal.helper.DatabaseTable> getMultipleTableInsertOrder() throws DescriptorException
DescriptorException
public java.util.Vector getMultipleTablePrimaryKeyAssociations()
adjustMultipleTableInsertOrder()
public org.eclipse.persistence.internal.descriptors.ObjectBuilder getObjectBuilder()
public org.eclipse.persistence.internal.descriptors.OptimisticLockingPolicy getOptimisticLockingPolicy()
public java.util.List<DatabaseMapping> getPreDeleteMappings()
public java.util.Vector<java.lang.String> getPrimaryKeyFieldNames()
public java.util.List<org.eclipse.persistence.internal.helper.DatabaseField> getPrimaryKeyFields()
public java.util.Map getProperties()
public java.lang.Object getProperty(java.lang.String name)
public QueryKey getQueryKeyNamed(java.lang.String queryKeyName)
public java.util.Map<java.lang.String,QueryKey> getQueryKeys()
public DescriptorQueryManager getDescriptorQueryManager()
public DescriptorQueryManager getQueryManager()
public java.lang.Class getRemoteIdentityMapClass()
public ClassDescriptor getRootDescriptor()
public int getRemoteIdentityMapSize()
public ReturningPolicy getReturningPolicy()
public org.eclipse.persistence.internal.helper.DatabaseField getSequenceNumberField()
public java.lang.String getSequenceNumberFieldName()
public java.lang.String getSequenceNumberName()
public java.lang.String getSessionName()
public org.eclipse.persistence.internal.helper.DatabaseTable getTable(java.lang.String tableName) throws DescriptorException
DescriptorException
public java.lang.String getTableName()
public java.util.Vector getTableNames()
public TablePerClassPolicy getTablePerClassPolicy()
setTablePerClassPolicy()
public java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseTable> getTables()
public org.eclipse.persistence.internal.helper.DatabaseField getTypedField(org.eclipse.persistence.internal.helper.DatabaseField field)
public WrapperPolicy getWrapperPolicy()
public boolean hasDependencyOnParts()
public boolean hasDerivedId()
public boolean hasInheritance()
hasTablePerClassPolicy()
public boolean hasInterfacePolicy()
public boolean hasMultipleTables()
public boolean hasPreDeleteMappings()
public boolean hasPrivatelyOwnedParts()
public boolean hasQueryKeyOrMapping(java.lang.String attributeName)
public boolean hasRelationships()
public boolean hasReturningPolicy()
public boolean hasWrapperPolicy()
public void initialize(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
DescriptorException
public void initializeAggregateInheritancePolicy(org.eclipse.persistence.internal.sessions.AbstractSession session)
public void initializeMultipleTablePrimaryKeyFields()
protected void initializeProperties(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
DescriptorException
public void interfaceInitialization(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
DescriptorException
public boolean isAbstract()
public boolean isAggregateCollectionDescriptor()
public boolean isAggregateDescriptor()
public boolean isChildDescriptor()
public boolean isDescriptorForInterface()
public boolean isDescriptorTypeAggregate()
public boolean isDescriptorTypeNormal()
public boolean isFullyInitialized()
protected boolean isInitialized(int initializationStage)
public boolean isInterfaceChildDescriptor()
protected boolean isInterfaceInitialized(int interfaceInitializationStage)
public boolean isInvalid()
public boolean isIsolated()
public boolean isMultipleTableDescriptor()
public boolean isObjectRelationalDataTypeDescriptor()
public boolean isPrimaryKeySetAfterInsert(org.eclipse.persistence.internal.sessions.AbstractSession session)
public boolean shouldUseFullChangeSetsForNewObjects()
public void onlyRefreshCacheIfNewerVersion()
setShouldOnlyRefreshCacheIfNewerVersion(boolean)
with an argument of true
:
it configures a ClassDescriptor
to only refresh the cache if the data received from the database by a query is newer than
the data in the cache (as determined by the optimistic locking field) and as long as one of the following is true:
ClassDescriptor
was configured by calling alwaysRefreshCache()
or alwaysRefreshCacheOnRemote()
,ObjectLevelReadQuery.refreshIdentityMapResult()
, orSession.refreshObject(java.lang.Object)
However, if a query hits the cache, data is not refreshed regardless of how this setting is configured. For example, by default,
when a query for a single object based on its primary key is executed, EclipseLink will first look in the cache for the object.
If the object is in the cache, the cached object is returned and data is not refreshed. To avoid cache hits, use
the disableCacheHits()
method.
Also note that the UnitOfWork
will not refresh its registered objects.
dontOnlyRefreshCacheIfNewerVersion()
public void postInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
DescriptorException
public void preInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
DescriptorException
protected void prepareCascadeLockingPolicy(DatabaseMapping mapping)
protected void preInitializeInheritancePolicy(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
DescriptorException
public void preInterfaceInitialization(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
DescriptorException
public void rehashFieldDependancies(org.eclipse.persistence.internal.sessions.AbstractSession session)
public void reInitializeJoinedAttributes()
public void remoteInitialization(DistributedSession session)
public void removeProperty(java.lang.String property)
public boolean requiresInitialization()
protected void selfValidationAfterInitialization(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
DescriptorException
protected void selfValidationBeforeInitialization(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
DescriptorException
protected void setAdditionalTablePrimaryKeyFields(org.eclipse.persistence.internal.helper.DatabaseTable table, org.eclipse.persistence.internal.helper.DatabaseField field1, org.eclipse.persistence.internal.helper.DatabaseField field2)
protected void toggleAdditionalTablePrimaryKeyFields()
public void setAdditionalTablePrimaryKeyFields(java.util.Map<org.eclipse.persistence.internal.helper.DatabaseTable,java.util.Map<org.eclipse.persistence.internal.helper.DatabaseField,org.eclipse.persistence.internal.helper.DatabaseField>> additionalTablePrimaryKeyFields)
public void setAlias(java.lang.String alias)
protected void setAllFields(java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> allFields)
public void setAmendmentClass(java.lang.Class amendmentClass)
public void setAmendmentClassName(java.lang.String amendmentClassName)
public void setAmendmentMethodName(java.lang.String amendmentMethodName)
public void setCacheSynchronizationType(int type)
type
- int The synchronization type for this descriptorpublic void setObjectChangePolicy(ObjectChangePolicy policy)
public void setHistoryPolicy(HistoryPolicy policy)
public void setCacheInterceptorClass(java.lang.Class cacheInterceptorClass)
CacheInterceptor
public void setCacheInterceptorClassName(java.lang.String cacheInterceptorClassName)
CacheInterceptor
public void setCacheInvalidationPolicy(CacheInvalidationPolicy policy)
CacheInvalidationPolicy
public void setConstraintDependencies(java.util.Vector constraintDependencies)
public void setCopyPolicy(CopyPolicy policy)
public void setCopyPolicyClassName(java.lang.String className)
public void setDefaultTable(org.eclipse.persistence.internal.helper.DatabaseTable defaultTable)
public void setDefaultTableName(java.lang.String defaultTableName)
public void setDescriptorType(int descriptorType)
public void setDescriptorTypeValue(java.lang.String value)
public void setEventManager(DescriptorEventManager eventManager)
public void setExistenceChecking(java.lang.String token) throws DescriptorException
DescriptorException
public void setFields(java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseField> fields)
public void setForeignKeyFieldNamesForMultipleTable(java.util.Vector associations) throws DescriptorException
DescriptorException
public void setIdentityMapClass(java.lang.Class theIdentityMapClass)
public void setIdentityMapSize(int identityMapSize)
public void setInheritancePolicy(InheritancePolicy inheritancePolicy)
public void setReturningPolicy(ReturningPolicy returningPolicy)
protected void setInitializationStage(int initializationStage)
public void setInstantiationPolicy(org.eclipse.persistence.internal.descriptors.InstantiationPolicy instantiationPolicy)
protected void setInterfaceInitializationStage(int interfaceInitializationStage)
public void setInterfacePolicy(InterfacePolicy interfacePolicy)
public void setInternalDefaultTable()
public void setInternalDefaultTable(org.eclipse.persistence.internal.helper.DatabaseTable defaultTable)
public void setIsIsolated(boolean isIsolated)
public boolean shouldIsolateObjectsInUnitOfWork()
public boolean shouldIsolateObjectsInUnitOfWorkEarlyTransaction()
public boolean shouldUseSessionCacheInUnitOfWorkEarlyTransaction()
public int getUnitOfWorkCacheIsolationLevel()
setUnitOfWorkCacheIsolationLevel(int)
public void setUnitOfWorkCacheIsolationLevel(int unitOfWorkCacheIsolationLevel)
USE_SESSION_CACHE_AFTER_TRANSACTION - Objects built from new data accessed after a unit of work early transaction are stored in the session cache. This options is the most efficient as it allows the cache to be used after an early transaction. This should only be used if it is known that this class is not modified in the transaction, otherwise this could cause uncommitted data to be loaded into the session cache. ISOLATE_NEW_DATA_AFTER_TRANSACTION - Default (when using caching): Objects built from new data accessed after a unit of work early transaction are only stored in the unit of work. This still allows previously cached objects to be accessed in the unit of work after an early transaction, but ensures uncommitted data will never be put in the session cache by storing any object built from new data only in the unit of work. ISOLATE_CACHE_AFTER_TRANSACTION - After a unit of work early transaction the session cache is no longer used for this class. Objects will be directly built from the database data and only stored in the unit of work, even if previously cached. Note that this may lead to poor performance as the session cache is bypassed after an early transaction. ISOLATE_CACHE_ALWAYS - Default (when using isolated cache): The session cache will never be used for this class. Objects will be directly built from the database data and only stored in the unit of work. New objects and changes will also never be merged into the session cache. Note that this may lead to poor performance as the session cache is bypassed, however if this class is isolated or pessimistic locked and always accessed in a transaction, this can avoid having to build two copies of the object.
public void setHasRelationships(boolean hasRelationships)
isSimpleDescriptor
- public void setJavaClass(java.lang.Class theJavaClass)
public void setJavaClassName(java.lang.String theJavaClassName)
public void setJavaInterface(java.lang.Class theJavaInterface)
public void setJavaInterfaceName(java.lang.String theJavaInterfaceName)
public void setLockableMappings(java.util.List<DatabaseMapping> lockableMappings)
public void setMappings(java.util.Vector<DatabaseMapping> mappings)
protected void setMultipleTableForeignKeys(java.util.Map<org.eclipse.persistence.internal.helper.DatabaseTable,java.util.Set<org.eclipse.persistence.internal.helper.DatabaseTable>> newValue)
getMultipleTableForeignKeys()
public void setMultipleTableInsertOrder(java.util.List<org.eclipse.persistence.internal.helper.DatabaseTable> newValue)
protected void setObjectBuilder(org.eclipse.persistence.internal.descriptors.ObjectBuilder builder)
public void setOptimisticLockingPolicy(org.eclipse.persistence.internal.descriptors.OptimisticLockingPolicy optimisticLockingPolicy)
VersionLockingPolicy
,
TimestampLockingPolicy
,
FieldsLockingPolicy
public void setPrimaryKeyFieldName(java.lang.String fieldName)
addPrimaryKeyFieldName(String)
public void setPrimaryKeyFieldNames(java.util.Vector primaryKeyFieldsName)
addPrimaryKeyFieldName(String)
public void setPrimaryKeyFields(java.util.List<org.eclipse.persistence.internal.helper.DatabaseField> thePrimaryKeyFields)
public void setProperties(java.util.Map properties)
public void setProperty(java.lang.String name, java.lang.Object value)
public void setQueryKeys(java.util.Map<java.lang.String,QueryKey> queryKeys)
public void setQueryManager(DescriptorQueryManager queryManager)
public void setRemoteIdentityMapClass(java.lang.Class theIdentityMapClass)
public void setRemoteIdentityMapSize(int identityMapSize)
public void setSequenceNumberField(org.eclipse.persistence.internal.helper.DatabaseField sequenceNumberField)
public void setSequenceNumberFieldName(java.lang.String fieldName)
public void setSequenceNumberName(java.lang.String name)
protected void setSessionName(java.lang.String sessionName)
public void setShouldAlwaysConformResultsInUnitOfWork(boolean shouldAlwaysConformResultsInUnitOfWork)
public void setShouldAlwaysRefreshCache(boolean shouldAlwaysRefreshCache)
shouldAlwaysRefreshCache
argument passed into this method is true
,
this method configures a ClassDescriptor
to always refresh the cache if data is received from
the database by any query.
However, if a query hits the cache, data is not refreshed regardless of how this setting is configured.
For example, by default, when a query for a single object based on its primary key is executed, OracleAS TopLink
will first look in the cache for the object. If the object is in the cache, the cached object is returned and
data is not refreshed. To avoid cache hits, use the disableCacheHits()
method.
Also note that the UnitOfWork
will not refresh its registered objects.
Use this property with caution because it can lead to poor performance and may refresh on queries when it is not desired.
Normally, if you require fresh data, it is better to configure a query with ObjectLevelReadQuery.refreshIdentityMapResult()
.
To ensure that refreshes are only done when required, use this method in conjunction with onlyRefreshCacheIfNewerVersion()
.
When the shouldAlwaysRefreshCache
argument passed into this method is false
, this method
ensures that a ClassDescriptor
is not configured to always refresh the cache if data is received from the database by any query.
alwaysRefreshCache()
,
dontAlwaysRefreshCache()
public void setShouldAlwaysRefreshCacheOnRemote(boolean shouldAlwaysRefreshCacheOnRemote)
shouldAlwaysRefreshCacheOnRemote
argument passed into this method is true
,
this method configures a ClassDescriptor
to always remotely refresh the cache if data is received from
the database by any query in a RemoteSession
.
However, if a query hits the cache, data is not refreshed regardless of how this setting is configured. For
example, by default, when a query for a single object based on its primary key is executed, OracleAS TopLink
will first look in the cache for the object. If the object is in the cache, the cached object is returned and
data is not refreshed. To avoid cache hits, use the disableCacheHitsOnRemote()
method.
Also note that the UnitOfWork
will not refresh its registered objects.
Use this property with caution because it can lead to poor performance and may refresh on queries when it is
not desired. Normally, if you require fresh data, it is better to configure a query with ObjectLevelReadQuery.refreshIdentityMapResult()
.
To ensure that refreshes are only done when required, use this method in conjunction with onlyRefreshCacheIfNewerVersion()
.
When the shouldAlwaysRefreshCacheOnRemote
argument passed into this method is false
,
this method ensures that a ClassDescriptor
is not configured to always remotely refresh the cache if data
is received from the database by any query in a RemoteSession
.
alwaysRefreshCacheOnRemote()
,
dontAlwaysRefreshCacheOnRemote()
public void setShouldBeReadOnly(boolean shouldBeReadOnly)
public void setReadOnly()
public void setShouldDisableCacheHits(boolean shouldDisableCacheHits)
alwaysRefreshCache()
public void setShouldDisableCacheHitsOnRemote(boolean shouldDisableCacheHitsOnRemote)
disableCacheHitsOnRemote()
public void setShouldOnlyRefreshCacheIfNewerVersion(boolean shouldOnlyRefreshCacheIfNewerVersion)
shouldOnlyRefreshCacheIfNewerVersion
argument passed into this method is true
,
this method configures a ClassDescriptor
to only refresh the cache if the data received from the database
by a query is newer than the data in the cache (as determined by the optimistic locking field) and as long as one of the following is true:
ClassDescriptor
was configured by calling alwaysRefreshCache()
or alwaysRefreshCacheOnRemote()
,ObjectLevelReadQuery.refreshIdentityMapResult()
, orSession.refreshObject(java.lang.Object)
However, if a query hits the cache, data is not refreshed regardless of how this setting is configured. For example, by default,
when a query for a single object based on its primary key is executed, OracleAS TopLink will first look in the cache for the object.
If the object is in the cache, the cached object is returned and data is not refreshed. To avoid cache hits, use
the disableCacheHits()
method.
Also note that the UnitOfWork
will not refresh its registered objects.
When the shouldOnlyRefreshCacheIfNewerVersion
argument passed into this method is false
, this method
ensures that a ClassDescriptor
is not configured to only refresh the cache if the data received from the database by a
query is newer than the data in the cache (as determined by the optimistic locking field).
onlyRefreshCacheIfNewerVersion()
,
dontOnlyRefreshCacheIfNewerVersion()
public void setShouldOrderMappings(boolean shouldOrderMappings)
public void setShouldRegisterResultsInUnitOfWork(boolean shouldRegisterResultsInUnitOfWork)
shouldRegisterResultsInUnitOfWork
public void setTableName(java.lang.String tableName) throws DescriptorException
DescriptorException
public void setTableNames(java.util.Vector tableNames)
public void setTablePerClassPolicy(TablePerClassPolicy tablePerClassPolicy)
public void setTableQualifier(java.lang.String tableQualifier)
public void setTables(java.util.Vector<org.eclipse.persistence.internal.helper.DatabaseTable> theTables)
public void setWrapperPolicy(WrapperPolicy wrapperPolicy)
public boolean shouldAlwaysConformResultsInUnitOfWork()
public boolean shouldAlwaysRefreshCache()
true
if the ClassDescriptor
is configured to always refresh
the cache if data is received from the database by any query. Otherwise, it returns false
.
setShouldAlwaysRefreshCache(boolean)
public boolean shouldAlwaysRefreshCacheOnRemote()
true
if the ClassDescriptor
is configured to always remotely
refresh the cache if data is received from the database by any query in a RemoteSession
.
Otherwise, it returns false
.
setShouldAlwaysRefreshCacheOnRemote(boolean)
public boolean shouldBeReadOnly()
public boolean shouldDisableCacheHits()
disableCacheHits()
public boolean shouldDisableCacheHitsOnRemote()
disableCacheHitsOnRemote()
public boolean shouldOnlyRefreshCacheIfNewerVersion()
true
if the ClassDescriptor
is configured to only refresh the cache
if the data received from the database by a query is newer than the data in the cache (as determined by the
optimistic locking field). Otherwise, it returns false
.
setShouldOnlyRefreshCacheIfNewerVersion(boolean)
public boolean shouldOrderMappings()
public boolean hasSimplePrimaryKey()
public boolean hasTablePerClassPolicy()
public void setHasSimplePrimaryKey(boolean hasSimplePrimaryKey)
public boolean shouldAcquireCascadedLocks()
public void setShouldAcquireCascadedLocks(boolean shouldAcquireCascadedLocks)
public boolean shouldUseCacheIdentityMap()
public boolean shouldUseFullIdentityMap()
public boolean shouldUseSoftIdentityMap()
public boolean shouldUseRemoteSoftIdentityMap()
public boolean shouldUseHardCacheWeakIdentityMap()
public boolean shouldUseNoIdentityMap()
public boolean shouldRegisterResultsInUnitOfWork()
Extreme care should be taken in using this feature, for a user will get back a mix of registered and original (unregistered) objects.
Best used with a WrapperPolicy where invoking on an object will trigger
its registration (CMP). Without a WrapperPolicy registerExistingObject
should be called on any object that you intend to change.
setShouldRegisterResultsInUnitOfWork(boolean)
,
ObjectBuildingQuery.shouldRegisterResultsInUnitOfWork
public boolean shouldUseRemoteCacheIdentityMap()
public boolean shouldUseRemoteFullIdentityMap()
public boolean shouldUseRemoteHardCacheWeakIdentityMap()
public boolean shouldUseRemoteNoIdentityMap()
public boolean shouldUseRemoteSoftCacheWeakIdentityMap()
public boolean shouldUseRemoteWeakIdentityMap()
public boolean shouldUseSoftCacheWeakIdentityMap()
public boolean shouldUseWeakIdentityMap()
public boolean supportsChangeTracking(Project project)
public java.lang.String toString()
toString
in class java.lang.Object
public void useAllFieldsLocking()
AllFieldsLockingPolicy
public void useCacheIdentityMap()
public void useChangedFieldsLocking()
ChangedFieldsLockingPolicy
public void useCloneCopyPolicy()
useCloneCopyPolicy(String)
public void useCloneCopyPolicy(java.lang.String cloneMethodName)
useCloneCopyPolicy()
public void useInstantiationCopyPolicy()
useCloneCopyPolicy()
,
useCloneCopyPolicy(String)
,
useDefaultConstructorInstantiationPolicy()
,
useMethodInstantiationPolicy(String)
,
useFactoryInstantiationPolicy(Class, String)
,
useFactoryInstantiationPolicy(Class, String, String)
,
useFactoryInstantiationPolicy(Object, String)
public void useDefaultConstructorInstantiationPolicy()
useMethodInstantiationPolicy(String)
,
useFactoryInstantiationPolicy(Class, String)
,
useFactoryInstantiationPolicy(Class, String, String)
,
useFactoryInstantiationPolicy(Object, String)
public void useFactoryInstantiationPolicy(java.lang.Class factoryClass, java.lang.String methodName)
useDefaultConstructorInstantiationPolicy()
,
useMethodInstantiationPolicy(String)
,
useFactoryInstantiationPolicy(Class, String, String)
,
useFactoryInstantiationPolicy(Object, String)
public void useFactoryInstantiationPolicy(java.lang.String factoryClassName, java.lang.String methodName)
public void useFactoryInstantiationPolicy(java.lang.Class factoryClass, java.lang.String methodName, java.lang.String factoryMethodName)
useDefaultConstructorInstantiationPolicy()
,
useFactoryInstantiationPolicy(Class, String)
,
useFactoryInstantiationPolicy(Object, String)
,
useMethodInstantiationPolicy(String)
public void useFactoryInstantiationPolicy(java.lang.String factoryClassName, java.lang.String methodName, java.lang.String factoryMethodName)
public void useFactoryInstantiationPolicy(java.lang.Object factory, java.lang.String methodName)
useDefaultConstructorInstantiationPolicy()
,
useMethodInstantiationPolicy(String)
,
useFactoryInstantiationPolicy(Class, String)
,
useFactoryInstantiationPolicy(Class, String, String)
public void useFullIdentityMap()
public void useHardCacheWeakIdentityMap()
public void useSoftIdentityMap()
public void useRemoteSoftIdentityMap()
public void useMethodInstantiationPolicy(java.lang.String staticMethodName)
useDefaultConstructorInstantiationPolicy()
,
useFactoryInstantiationPolicy(Class, String)
,
useFactoryInstantiationPolicy(Class, String, String)
,
useFactoryInstantiationPolicy(Object, String)
public void useNoIdentityMap()
setIsIsolated(boolean)
public void useRemoteCacheIdentityMap()
public void useRemoteFullIdentityMap()
public void useRemoteHardCacheWeakIdentityMap()
public void useRemoteNoIdentityMap()
public void useRemoteSoftCacheWeakIdentityMap()
public void useRemoteWeakIdentityMap()
public void useSelectedFieldsLocking(java.util.Vector fieldNames)
SelectedFieldsLockingPolicy
public boolean usesFieldLocking()
public void useSoftCacheWeakIdentityMap()
public boolean usesOptimisticLocking()
public boolean usesVersionLocking()
public boolean usesSequenceNumbers()
public void useTimestampLocking(java.lang.String writeLockFieldName)
public void useTimestampLocking(java.lang.String writeLockFieldName, boolean shouldStoreInCache)
VersionLockingPolicy
public void useVersionLocking(java.lang.String writeLockFieldName)
public void useVersionLocking(java.lang.String writeLockFieldName, boolean shouldStoreInCache)
TimestampLockingPolicy
public void useWeakIdentityMap()
protected void validateAfterInitialization(org.eclipse.persistence.internal.sessions.AbstractSession session)
protected void validateBeforeInitialization(org.eclipse.persistence.internal.sessions.AbstractSession session)
protected void verifyTableQualifiers(org.eclipse.persistence.internal.databaseaccess.Platform platform)
public CMPPolicy getCMPPolicy()
public void setCMPPolicy(CMPPolicy newCMPPolicy)
public boolean hasPessimisticLockingPolicy()
public FetchGroupManager getFetchGroupManager()
FetchGroupTracker
public void setFetchGroupManager(FetchGroupManager fetchGroupManager)
public boolean isDescriptorForCMP()
public boolean hasFetchGroupManager()
public boolean hasCascadeLockingPolicies()
public boolean hasCMPPolicy()
public FetchGroup getDefaultFetchGroup()
public boolean isReturnTypeRequiredForReturningPolicy()
public void setIsNativeConnectionRequired(boolean isNativeConnectionRequired)
public boolean isNativeConnectionRequired()
public void setIdValidation(IdValidation idValidation)
public IdValidation getIdValidation()
public java.util.List<IdValidation> getPrimaryKeyIdValidations()
public void setPrimaryKeyIdValidations(java.util.List<IdValidation> primaryKeyIdValidations)
public void setCacheKeyType(CacheKeyType cacheKeyType)
public CacheKeyType getCacheKeyType()
public QueryRedirector getDefaultQueryRedirector()
org.eclipse.persistence.queryframework.QueryRedirector
public void setDefaultQueryRedirector(QueryRedirector defaultRedirector)
org.eclipse.persistence.queryframework.QueryRedirector
public QueryRedirector getDefaultReadAllQueryRedirector()
org.eclipse.persistence.queryframework.QueryRedirector
public void setDefaultReadAllQueryRedirector(QueryRedirector defaultReadAllQueryRedirector)
org.eclipse.persistence.queryframework.QueryRedirector
public QueryRedirector getDefaultReadObjectQueryRedirector()
org.eclipse.persistence.queryframework.QueryRedirector
public void setDefaultReadObjectQueryRedirector(QueryRedirector defaultReadObjectQueryRedirector)
org.eclipse.persistence.queryframework.QueryRedirector
public QueryRedirector getDefaultReportQueryRedirector()
org.eclipse.persistence.queryframework.QueryRedirector
public void setDefaultReportQueryRedirector(QueryRedirector defaultReportQueryRedirector)
org.eclipse.persistence.queryframework.QueryRedirector
public QueryRedirector getDefaultUpdateObjectQueryRedirector()
org.eclipse.persistence.queryframework.QueryRedirector
public void setDefaultUpdateObjectQueryRedirector(QueryRedirector defaultUpdateQueryRedirector)
org.eclipse.persistence.queryframework.QueryRedirector
public QueryRedirector getDefaultInsertObjectQueryRedirector()
org.eclipse.persistence.queryframework.QueryRedirector
public void setDefaultInsertObjectQueryRedirector(QueryRedirector defaultInsertQueryRedirector)
org.eclipse.persistence.queryframework.QueryRedirector
public QueryRedirector getDefaultDeleteObjectQueryRedirector()
org.eclipse.persistence.queryframework.QueryRedirector
public void setDefaultDeleteObjectQueryRedirector(QueryRedirector defaultDeleteObjectQueryRedirector)
org.eclipse.persistence.queryframework.QueryRedirector
public void setDefaultQueryRedirectorClassName(java.lang.String defaultQueryRedirectorClassName)
org.eclipse.persistence.queryframework.QueryRedirector
public void setDefaultReadAllQueryRedirectorClassName(java.lang.String defaultReadAllQueryRedirectorClassName)
org.eclipse.persistence.queryframework.QueryRedirector
public void setDefaultReadObjectQueryRedirectorClassName(java.lang.String defaultReadObjectQueryRedirectorClassName)
org.eclipse.persistence.queryframework.QueryRedirector
public void setDefaultReportQueryRedirectorClassName(java.lang.String defaultReportQueryRedirectorClassName)
org.eclipse.persistence.queryframework.QueryRedirector
public void setDefaultUpdateObjectQueryRedirectorClassName(java.lang.String defaultUpdateObjectQueryRedirectorClassName)
org.eclipse.persistence.queryframework.QueryRedirector
public void setDefaultInsertObjectQueryRedirectorClassName(java.lang.String defaultInsertObjectQueryRedirectorClassName)
org.eclipse.persistence.queryframework.QueryRedirector
public void setDefaultDeleteObjectQueryRedirectorClassName(java.lang.String defaultDeleteObjectQueryRedirectorClassName)
org.eclipse.persistence.queryframework.QueryRedirector
public Sequence getSequence()
public void setSequence(Sequence sequence)
public java.util.List<DatabaseMapping> getMappingsPostCalculateChanges()
public boolean hasMappingsPostCalculateChanges()
public void addMappingsPostCalculateChanges(DatabaseMapping mapping)
public java.util.List<DatabaseMapping> getMappingsPostCalculateChangesOnDeleted()
public boolean hasMappingsPostCalculateChangesOnDeleted()
public void addMappingsPostCalculateChangesOnDeleted(DatabaseMapping mapping)
public boolean hasMultipleTableConstraintDependecy()
public void setHasMultipleTableConstraintDependecy(boolean hasMultipleTableConstraintDependecy)
|
EclipseLink 2.1.2, build 'v20101206-r8635' API Reference | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |