public class EISDescriptor extends ClassDescriptor
An EISDescriptor defines the mapping from a JCA data structure to a Java object. There are two types of EIS descriptors:
EISInteraction, EISMapping, Serialized Form| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
INDEXED |
static java.lang.String |
MAPPED
Define the valid data formats that the descriptor can map to.
|
static java.lang.String |
XML |
DO_NOT_SEND_CHANGES, INVALIDATE_CHANGED_OBJECTS, ISOLATE_CACHE_AFTER_TRANSACTION, ISOLATE_CACHE_ALWAYS, ISOLATE_FROM_CLIENT_SESSION, ISOLATE_NEW_DATA_AFTER_TRANSACTION, SEND_NEW_OBJECTS_WITH_CHANGES, SEND_OBJECT_CHANGES, shouldUseFullChangeSetsForNewObjects, UNDEFINED_ISOLATATION, UNDEFINED_OBJECT_CHANGE_BEHAVIOR, USE_SESSION_CACHE_AFTER_TRANSACTION| Constructor and Description |
|---|
EISDescriptor()
Default constructor.
|
| Modifier and Type | Method and Description |
|---|---|
DatabaseMapping |
addDirectMapping(java.lang.String attributeName, java.lang.String fieldName)
PUBLIC: Add a direct 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 node mapping to the receiver.
|
void |
addPrimaryKeyFieldName(java.lang.String fieldName)
PUBLIC: Specify the primary key field.
|
org.eclipse.persistence.internal.databaseaccess.DatasourceCall |
buildCallFromStatement(org.eclipse.persistence.internal.expressions.SQLStatement statement, DatabaseQuery query, org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Override this method to throw an exception.
|
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: If the field is an XMLField then set the namespace resolver from the descriptor.
|
org.eclipse.persistence.internal.helper.DatabaseField |
buildField(java.lang.String fieldName)
INTERNAL: XML type descriptors should use XMLFields.
|
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 |
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 the nested row.
|
java.util.Vector |
buildNestedRowsFromFieldValue(java.lang.Object fieldValue, org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Build the nested rows.
|
java.lang.String |
getDataFormat()
PUBLIC: Return the data format that the descriptor maps to.
|
java.lang.String |
getDataTypeName()
PUBLIC: Specify the data type name for the class of objects the descriptor maps.
|
InheritancePolicy |
getInheritancePolicy()
PUBLIC: The inheritance policy is used to define how a descriptor takes part in inheritance.
|
NamespaceResolver |
getNamespaceResolver()
PUBLIC: Return the XML namespace resolver.
|
void |
initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Initialize the mappings as a separate step.
|
void |
initialize(DescriptorQueryManager queryManager, org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Initialize the query manager specific to the descriptor type.
|
void |
initializeAggregateInheritancePolicy(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: This is needed by regular aggregate descriptors * but not by EIS aggregate descriptors.
|
boolean |
isEISDescriptor()
PUBLIC: Return if the descriptor maps to an EIS or NoSQL datasource.
|
boolean |
isIndexedFormat() |
boolean |
isMappedFormat() |
boolean |
isReturnTypeRequiredForReturningPolicy()
INTERNAL: Indicates if a return type is required for the field set on the returning policy.
|
boolean |
isXMLFormat() |
DatabaseMapping |
newAggregateCollectionMapping()
Return a new aggregate collection/element collection mapping for this type of descriptor.
|
AggregateMapping |
newAggregateMapping()
Return a new aggregate/embedded mapping for this type of descriptor.
|
DatabaseMapping |
newDirectCollectionMapping()
Return a new direct collection/element collection mapping for this type of descriptor.
|
AbstractDirectMapping |
newDirectMapping()
Return a new direct/basic mapping for this type of descriptor.
|
CollectionMapping |
newManyToManyMapping()
Return a new one to many mapping for this type of descriptor.
|
ObjectReferenceMapping |
newManyToOneMapping()
Return a new many to one mapping for this type of descriptor.
|
CollectionMapping |
newOneToManyMapping()
Return a new one to many mapping for this type of descriptor.
|
ObjectReferenceMapping |
newOneToOneMapping()
Return a new one to one mapping for this type of descriptor.
|
CollectionMapping |
newUnidirectionalOneToManyMapping()
Return a new one to many mapping for this type of descriptor.
|
void |
preInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Configure the object builder for the correct dataFormat.
|
boolean |
requiresInitialization(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: XML descriptors are initialized normally, since they do not need to be cloned by ESI aggregate mappings.
|
void |
setDataFormat(java.lang.String dataFormat)
PUBLIC: Configure the data format that the descriptor maps to.
|
void |
setDataTypeName(java.lang.String dataTypeName)
PUBLIC: Specify the data type name for the class of objects the descriptor maps.
|
void |
setNamespaceResolver(NamespaceResolver namespaceResolver)
PUBLIC: Set the XML namespace resolver.
|
void |
setQueryManager(DescriptorQueryManager queryManager)
INTERNAL: Avoid SDK initialization.
|
void |
setSequenceNumberFieldName(java.lang.String fieldName)
PUBLIC: Set the sequence number field name.
|
boolean |
shouldUseFullChangeSetsForNewObjects()
INTERNAL: Return if change sets are required for new objects.
|
void |
useIndexedRecordFormat()
PUBLIC: Configure the data format to use indexed records.
|
void |
useMappedRecordFormat()
PUBLIC: Configure the data format to use mapped records.
|
void |
useXMLRecordFormat()
PUBLIC: Configure the data format to use xml records.
|
addAbstractQueryKey, addCascadeLockingPolicy, addConstraintDependencies, addConstraintDependency, addDirectQueryKey, addForeignKeyFieldForMultipleTable, addForeignKeyFieldNameForMultipleTable, addMapping, addMappingsPostCalculateChanges, addMappingsPostCalculateChangesOnDeleted, addPreDeleteMapping, addPrimaryKeyField, addQueryKey, addTable, addTableName, addUnconvertedProperty, adjustMultipleTableInsertOrder, alwaysConformResultsInUnitOfWork, alwaysRefreshCache, alwaysRefreshCacheOnRemote, applyAmendmentMethod, applyAmendmentMethod, arePrimaryKeyFields, buildBatchCriteriaByPK, buildField, buildFieldValueFromForeignKeys, checkInheritanceTreeAggregateSettings, clone, convertClassNamesToClasses, createCopyPolicy, createInstantiationPolicy, descriptorIsAggregate, descriptorIsAggregateCollection, descriptorIsForInterface, descriptorIsNormal, disableCacheHits, disableCacheHitsOnRemote, dontAlwaysConformResultsInUnitOfWork, dontAlwaysRefreshCache, dontAlwaysRefreshCacheOnRemote, dontDisableCacheHits, dontDisableCacheHitsOnRemote, dontOnlyRefreshCacheIfNewerVersion, getAccessorTree, getAdditionalAggregateCollectionKeyFields, getAdditionalTablePrimaryKeyFields, getAdditionalWritableMapKeyFields, getAlias, getAllFields, getAllSelectionFields, getAllSelectionFields, getAmendmentClass, getAmendmentClassName, getAmendmentMethodName, getAttributeGroup, getAttributeGroups, getCacheInterceptorClass, getCacheInterceptorClassName, getCacheInvalidationPolicy, getCacheIsolation, getCacheKeyType, getCachePolicy, getCacheSynchronizationType, getCascadeLockingPolicies, getCMPPolicy, getConstraintDependencies, getCopyPolicy, getCopyPolicyClassName, getDefaultDeleteObjectQueryRedirector, getDefaultFetchGroup, getDefaultInsertObjectQueryRedirector, getDefaultQueryRedirector, getDefaultReadAllQueryRedirector, getDefaultReadObjectQueryRedirector, getDefaultReportQueryRedirector, getDefaultTable, getDefaultUpdateObjectQueryRedirector, getDerivesIdMappinps, getDescriptorCustomizerClassName, getDescriptorEventManager, getDescriptorInheritancePolicy, getDescriptorQueryManager, getDescriptorType, getDescriptorTypeValue, getEventManager, getFetchGroupManager, getFields, getForeignKeyValuesForCaching, getFullyMergeEntity, getHistoryPolicy, getIdentityMapClass, getIdentityMapSize, getIdValidation, getInheritancePolicyOrNull, getInstantiationPolicy, getInterfacePolicy, getInterfacePolicyOrNull, getJavaClass, getJavaClassName, getLockableMappings, getMappingForAttributeName, getMappings, getMappingsPostCalculateChanges, getMappingsPostCalculateChangesOnDeleted, getMultipleTableForeignKeyAssociations, getMultipleTableForeignKeys, getMultipleTableInsertOrder, getMultipleTablePrimaryKeyAssociations, getMultitenantPolicy, getObjectBuilder, getObjectChangePolicy, getObjectChangePolicyInternal, getOptimisticLockingPolicy, getPartitioningPolicy, getPartitioningPolicyName, getPreDeleteMappings, getPrimaryKeyFieldNames, getPrimaryKeyFields, getPrimaryKeyIdValidations, getProperties, getProperty, getQueryKeyNamed, getQueryKeys, getQueryManager, getRemoteIdentityMapClass, getRemoteIdentityMapSize, getReturningPolicy, getRootDescriptor, getSelectionFields, getSelectionFields, getSequence, getSequenceNumberField, getSequenceNumberFieldName, getSequenceNumberName, getSerializedObjectPolicy, getSessionName, getTable, getTableName, getTableNames, getTablePerClassPolicy, getTables, getTypedField, getUnconvertedProperties, getUnitOfWorkCacheIsolationLevel, getVirtualAttributeMethods, getWrapperPolicy, hasCascadeLockingPolicies, hasCMPPolicy, hasDependencyOnParts, hasDerivedId, hasEventManager, hasFetchGroupManager, hasInheritance, hasInterfacePolicy, hasMappingsPostCalculateChanges, hasMappingsPostCalculateChangesOnDeleted, hasMultipleTableConstraintDependecy, hasMultipleTables, hasMultitenantPolicy, hasNestedIdentityReference, hasNoncacheableMappings, hasPessimisticLockingPolicy, hasPreDeleteMappings, hasPrivatelyOwnedParts, hasQueryKeyOrMapping, hasRelationships, hasRelationshipsExceptBackpointer, hasReturningPolicy, hasSerializedObjectPolicy, hasSimplePrimaryKey, hasTablePerClassPolicy, hasTablePerMultitenantPolicy, hasTargetForeignKeyMapping, hasUnconvertedProperties, hasWrapperPolicy, initializeMultipleTablePrimaryKeyFields, interfaceInitialization, isAbstract, isAggregateCollectionDescriptor, isAggregateDescriptor, isCascadeOnDeleteSetOnDatabaseOnSecondaryTables, isChildDescriptor, isDescriptorForInterface, isDescriptorTypeAggregate, isDescriptorTypeNormal, isFullyInitialized, isInterfaceChildDescriptor, isInvalid, isIsolated, isMultipleTableDescriptor, isNativeConnectionRequired, isObjectRelationalDataTypeDescriptor, isPrimaryKeySetAfterInsert, isProtectedIsolation, isRelationalDescriptor, isSharedIsolation, isXMLDescriptor, notifyReferencingDescriptorsOfIsolation, onlyRefreshCacheIfNewerVersion, postInitialize, preInterfaceInitialization, rehashFieldDependancies, reInitializeJoinedAttributes, remoteInitialization, removeMappingForAttributeName, removeProperty, setAccessorTree, setAdditionalTablePrimaryKeyFields, setAlias, setAmendmentClass, setAmendmentClassName, setAmendmentMethodName, setCacheInterceptorClass, setCacheInterceptorClassName, setCacheInvalidationPolicy, setCacheIsolation, setCacheKeyType, setCachePolicy, setCacheSynchronizationType, setCMPPolicy, setConstraintDependencies, setCopyPolicy, setCopyPolicyClassName, setDefaultDeleteObjectQueryRedirector, setDefaultDeleteObjectQueryRedirectorClassName, setDefaultInsertObjectQueryRedirector, setDefaultInsertObjectQueryRedirectorClassName, setDefaultQueryRedirector, setDefaultQueryRedirectorClassName, setDefaultReadAllQueryRedirector, setDefaultReadAllQueryRedirectorClassName, setDefaultReadObjectQueryRedirector, setDefaultReadObjectQueryRedirectorClassName, setDefaultReportQueryRedirector, setDefaultReportQueryRedirectorClassName, setDefaultTable, setDefaultTableName, setDefaultUpdateObjectQueryRedirector, setDefaultUpdateObjectQueryRedirectorClassName, setDescriptorCustomizerClassName, setDescriptorType, setDescriptorTypeValue, setEventManager, setExistenceChecking, setFetchGroupManager, setFields, setForeignKeyFieldNamesForMultipleTable, setFullyMergeEntity, setHasMultipleTableConstraintDependecy, setHasRelationships, setHasSimplePrimaryKey, setHistoryPolicy, setIdentityMapClass, setIdentityMapSize, setIdValidation, setInheritancePolicy, setInstantiationPolicy, setInterfacePolicy, setInternalDefaultTable, setInternalDefaultTable, setIsCascadeOnDeleteSetOnDatabaseOnSecondaryTables, setIsIsolated, setIsNativeConnectionRequired, setJavaClass, setJavaClassName, setJavaInterface, setJavaInterfaceName, setLockableMappings, setMappings, setMultipleTableInsertOrder, setMultitenantPolicy, setObjectChangePolicy, setOptimisticLockingPolicy, setPartitioningPolicy, setPartitioningPolicyName, setPrimaryKeyFieldName, setPrimaryKeyFieldNames, setPrimaryKeyFields, setPrimaryKeyIdValidations, setProperties, setProperty, setQueryKeys, setReadOnly, setRemoteIdentityMapClass, setRemoteIdentityMapSize, setReturningPolicy, setSequence, setSequenceNumberField, setSequenceNumberName, setSerializedObjectPolicy, setShouldAcquireCascadedLocks, setShouldAlwaysConformResultsInUnitOfWork, setShouldAlwaysRefreshCache, setShouldAlwaysRefreshCacheOnRemote, setShouldBeReadOnly, setShouldDisableCacheHits, setShouldDisableCacheHitsOnRemote, setShouldLockForClone, setShouldOnlyRefreshCacheIfNewerVersion, setShouldOrderMappings, setShouldRegisterResultsInUnitOfWork, setTableName, setTableNames, setTablePerClassPolicy, setTableQualifier, setTables, setUnitOfWorkCacheIsolationLevel, setVirtualAttributeMethods, setWrapperPolicy, shouldAcquireCascadedLocks, shouldAlwaysConformResultsInUnitOfWork, shouldAlwaysRefreshCache, shouldAlwaysRefreshCacheOnRemote, shouldBeReadOnly, shouldDisableCacheHits, shouldDisableCacheHitsOnRemote, shouldIsolateObjectsInUnitOfWork, shouldIsolateObjectsInUnitOfWorkEarlyTransaction, shouldIsolateProtectedObjectsInUnitOfWork, shouldLockForClone, shouldOnlyRefreshCacheIfNewerVersion, shouldOrderMappings, shouldRegisterResultsInUnitOfWork, shouldUseAdditionalJoinExpression, shouldUseCacheIdentityMap, shouldUseFullIdentityMap, shouldUseHardCacheWeakIdentityMap, shouldUseNoIdentityMap, shouldUseRemoteCacheIdentityMap, shouldUseRemoteFullIdentityMap, shouldUseRemoteHardCacheWeakIdentityMap, shouldUseRemoteNoIdentityMap, shouldUseRemoteSoftCacheWeakIdentityMap, shouldUseRemoteSoftIdentityMap, shouldUseRemoteWeakIdentityMap, shouldUseSessionCacheInUnitOfWorkEarlyTransaction, shouldUseSoftCacheWeakIdentityMap, shouldUseSoftIdentityMap, shouldUseWeakIdentityMap, supportsChangeTracking, toString, useAllFieldsLocking, useCacheIdentityMap, useChangedFieldsLocking, useCloneCopyPolicy, useCloneCopyPolicy, useDefaultConstructorInstantiationPolicy, useFactoryInstantiationPolicy, useFactoryInstantiationPolicy, useFactoryInstantiationPolicy, useFactoryInstantiationPolicy, useFactoryInstantiationPolicy, useFullIdentityMap, useHardCacheWeakIdentityMap, useInstantiationCopyPolicy, useMethodInstantiationPolicy, useNoIdentityMap, usePropertyAccessForWeaving, useRemoteCacheIdentityMap, useRemoteFullIdentityMap, useRemoteHardCacheWeakIdentityMap, useRemoteNoIdentityMap, useRemoteSoftCacheWeakIdentityMap, useRemoteSoftIdentityMap, useRemoteWeakIdentityMap, useSelectedFieldsLocking, usesFieldLocking, useSoftCacheWeakIdentityMap, useSoftIdentityMap, usesOptimisticLocking, usesPropertyAccessForWeaving, usesSequenceNumbers, usesVersionLocking, useTimestampLocking, useTimestampLocking, useVersionLocking, useVersionLocking, useWeakIdentityMapaddAttributeGrouppublic static final java.lang.String MAPPED
public static final java.lang.String INDEXED
public static final java.lang.String XML
public void setDataTypeName(java.lang.String dataTypeName)
throws DescriptorException
DescriptorExceptionpublic NamespaceResolver getNamespaceResolver()
public InheritancePolicy getInheritancePolicy()
getInheritancePolicy in class ClassDescriptorpublic void setNamespaceResolver(NamespaceResolver namespaceResolver)
public void setQueryManager(DescriptorQueryManager queryManager)
setQueryManager in class ClassDescriptorpublic void preInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
preInitialize in class ClassDescriptorpublic void initialize(DescriptorQueryManager queryManager, org.eclipse.persistence.internal.sessions.AbstractSession session)
initialize in class ClassDescriptorpublic boolean isXMLFormat()
public boolean isMappedFormat()
public boolean isIndexedFormat()
public java.lang.String getDataFormat()
public java.lang.String getDataTypeName()
throws DescriptorException
DescriptorExceptionpublic void setDataFormat(java.lang.String dataFormat)
public void useMappedRecordFormat()
public void useIndexedRecordFormat()
public void useXMLRecordFormat()
public org.eclipse.persistence.internal.sessions.AbstractRecord buildNestedRowFromFieldValue(java.lang.Object fieldValue)
buildNestedRowFromFieldValue in class ClassDescriptor
public java.util.Vector buildNestedRowsFromFieldValue(java.lang.Object fieldValue,
org.eclipse.persistence.internal.sessions.AbstractSession session)
buildNestedRowsFromFieldValue in class ClassDescriptorpublic java.util.Vector buildDirectValuesFromFieldValue(java.lang.Object fieldValue)
buildDirectValuesFromFieldValue in class ClassDescriptor
public java.lang.Object buildFieldValueFromDirectValues(java.util.Vector directValues,
java.lang.String elementDataTypeName,
org.eclipse.persistence.internal.sessions.AbstractSession session)
buildFieldValueFromDirectValues in class ClassDescriptor
public java.lang.Object buildFieldValueFromNestedRow(org.eclipse.persistence.internal.sessions.AbstractRecord nestedRow,
org.eclipse.persistence.internal.sessions.AbstractSession session)
throws DatabaseException
buildFieldValueFromNestedRow in class ClassDescriptorDatabaseException
public java.lang.Object buildFieldValueFromNestedRows(java.util.Vector nestedRows,
java.lang.String structureName,
org.eclipse.persistence.internal.sessions.AbstractSession session)
throws DatabaseException
buildFieldValueFromNestedRows in class ClassDescriptorDatabaseExceptionpublic org.eclipse.persistence.internal.helper.DatabaseField buildField(java.lang.String fieldName)
buildField in class ClassDescriptorpublic org.eclipse.persistence.internal.helper.DatabaseField buildField(org.eclipse.persistence.internal.helper.DatabaseField field)
buildField in class ClassDescriptorpublic AbstractDirectMapping newDirectMapping()
newDirectMapping in class ClassDescriptorpublic AggregateMapping newAggregateMapping()
newAggregateMapping in class ClassDescriptorpublic DatabaseMapping newAggregateCollectionMapping()
newAggregateCollectionMapping in class ClassDescriptorpublic DatabaseMapping newDirectCollectionMapping()
newDirectCollectionMapping in class ClassDescriptorpublic ObjectReferenceMapping newOneToOneMapping()
newOneToOneMapping in class ClassDescriptorpublic ObjectReferenceMapping newManyToOneMapping()
newManyToOneMapping in class ClassDescriptorpublic CollectionMapping newOneToManyMapping()
newOneToManyMapping in class ClassDescriptorpublic CollectionMapping newUnidirectionalOneToManyMapping()
newUnidirectionalOneToManyMapping in class ClassDescriptorpublic CollectionMapping newManyToManyMapping()
newManyToManyMapping in class ClassDescriptorpublic DatabaseMapping addDirectMapping(java.lang.String attributeName, java.lang.String fieldName)
addDirectMapping in class ClassDescriptorString - instanceVariableName is the name of an instance variable of the class which the receiver describes.String - fieldName is the name of the xml element or attribute 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)
addDirectMapping in class ClassDescriptorpublic void addPrimaryKeyFieldName(java.lang.String fieldName)
addPrimaryKeyFieldName in class ClassDescriptor#addMultipleTableForeignKeyFieldName(String, String);public void setSequenceNumberFieldName(java.lang.String fieldName)
setSequenceNumberFieldName in class ClassDescriptor
public org.eclipse.persistence.internal.databaseaccess.DatasourceCall buildCallFromStatement(org.eclipse.persistence.internal.expressions.SQLStatement statement,
DatabaseQuery query,
org.eclipse.persistence.internal.sessions.AbstractSession session)
buildCallFromStatement in class ClassDescriptor
public void initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
throws DescriptorException
ClassDescriptorinitialize in class ClassDescriptorDescriptorExceptionpublic void initializeAggregateInheritancePolicy(org.eclipse.persistence.internal.sessions.AbstractSession session)
initializeAggregateInheritancePolicy in class ClassDescriptorpublic boolean requiresInitialization(org.eclipse.persistence.internal.sessions.AbstractSession session)
requiresInitialization in class ClassDescriptorpublic boolean isReturnTypeRequiredForReturningPolicy()
isReturnTypeRequiredForReturningPolicy in class ClassDescriptorpublic boolean isEISDescriptor()
isEISDescriptor in class ClassDescriptorpublic boolean shouldUseFullChangeSetsForNewObjects()
shouldUseFullChangeSetsForNewObjects in class ClassDescriptor