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 String |
INDEXED |
static String |
MAPPED
Define the valid data formats that the descriptor can map to.
|
static String |
XML |
DO_NOT_SEND_CHANGES, INVALIDATE_CHANGED_OBJECTS, ISOLATE_CACHE_AFTER_TRANSACTION, ISOLATE_CACHE_ALWAYS, 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(String attributeName,
String fieldName)
PUBLIC:
Add a direct mapping to the receiver.
|
DatabaseMapping |
addDirectMapping(String attributeName,
String getMethodName,
String setMethodName,
String fieldName)
PUBLIC:
Add a direct to node mapping to the receiver.
|
void |
addPrimaryKeyFieldName(String fieldName)
PUBLIC:
Specify the primary key field.
|
org.eclipse.persistence.internal.databaseaccess.DatabaseCall |
buildCallFromStatement(org.eclipse.persistence.internal.expressions.SQLStatement statement,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Override this method to throw an exception.
|
Vector |
buildDirectValuesFromFieldValue(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(String fieldName)
INTERNAL:
XML type descriptors should use XMLFields.
|
Object |
buildFieldValueFromDirectValues(Vector directValues,
String elementDataTypeName,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Build the appropriate field value for the specified
set of direct values.
|
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.
|
Object |
buildFieldValueFromNestedRows(Vector nestedRows,
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(Object fieldValue)
INTERNAL:
Build the nested row.
|
Vector |
buildNestedRowsFromFieldValue(Object fieldValue,
org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Build the nested rows.
|
String |
getDataFormat()
PUBLIC:
Return the data format that the descriptor maps to.
|
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 |
initializeAggregateInheritancePolicy(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
This is needed by regular aggregate descriptors
* but not by EIS aggregate descriptors.
|
boolean |
isReturnTypeRequiredForReturningPolicy()
INTERNAL:
Indicates if a return type is required for the field set on the
returning policy.
|
void |
preInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL:
Configure the object builder for the correct dataFormat.
|
boolean |
requiresInitialization()
INTERNAL:
XML descriptors are initialized normally, since they do
not need to be cloned by ESI aggregate mappings.
|
void |
setDataFormat(String dataFormat)
PUBLIC:
Configure the data format that the descriptor maps to.
|
void |
setDataTypeName(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(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, addPrimaryKeyField, addQueryKey, addTable, addTableName, adjustMultipleTableInsertOrder, alwaysConformResultsInUnitOfWork, alwaysRefreshCache, alwaysRefreshCacheOnRemote, applyAmendmentMethod, applyAmendmentMethod, arePrimaryKeyFields, buildField, buildFieldValueFromForeignKeys, checkInheritanceTreeAggregateSettings, clone, convertClassNamesToClasses, createCopyPolicy, createInstantiationPolicy, descriptorIsAggregate, descriptorIsAggregateCollection, descriptorIsForInterface, descriptorIsNormal, disableCacheHits, disableCacheHitsOnRemote, dontAlwaysConformResultsInUnitOfWork, dontAlwaysRefreshCache, dontAlwaysRefreshCacheOnRemote, dontDisableCacheHits, dontDisableCacheHitsOnRemote, dontOnlyRefreshCacheIfNewerVersion, getAdditionalAggregateCollectionKeyFields, getAdditionalTablePrimaryKeyFields, getAdditionalWritableMapKeyFields, getAlias, getAllFields, getAmendmentClass, getAmendmentClassName, getAmendmentMethodName, getCacheInterceptorClass, getCacheInterceptorClassName, getCacheInvalidationPolicy, getCacheKeyType, getCacheSynchronizationType, getCascadeLockingPolicies, getCMPPolicy, getConstraintDependencies, getCopyPolicy, getCopyPolicyClassName, getDefaultDeleteObjectQueryRedirector, getDefaultFetchGroup, getDefaultInsertObjectQueryRedirector, getDefaultQueryRedirector, getDefaultReadAllQueryRedirector, getDefaultReadObjectQueryRedirector, getDefaultReportQueryRedirector, getDefaultTable, getDefaultUpdateObjectQueryRedirector, getDerivesIdMappinps, getDescriptorEventManager, getDescriptorInheritancePolicy, getDescriptorQueryManager, getDescriptorType, getDescriptorTypeValue, getEventManager, getFetchGroupManager, getFields, getHistoryPolicy, getIdentityMapClass, getIdentityMapSize, getIdValidation, getInheritancePolicyOrNull, getInstantiationPolicy, getInterfacePolicy, getInterfacePolicyOrNull, getJavaClass, getJavaClassName, getLockableMappings, getMappingForAttributeName, getMappings, getMappingsPostCalculateChanges, getMappingsPostCalculateChangesOnDeleted, getMultipleTableForeignKeyAssociations, getMultipleTableForeignKeys, getMultipleTableInsertOrder, getMultipleTablePrimaryKeyAssociations, getObjectBuilder, getObjectChangePolicy, getObjectChangePolicyInternal, getOptimisticLockingPolicy, getPreDeleteMappings, getPrimaryKeyFieldNames, getPrimaryKeyFields, getPrimaryKeyIdValidations, getProperties, getProperty, getQueryKeyNamed, getQueryKeys, getQueryManager, getRemoteIdentityMapClass, getRemoteIdentityMapSize, getReturningPolicy, getRootDescriptor, getSequence, getSequenceNumberField, getSequenceNumberFieldName, getSequenceNumberName, getSessionName, getTable, getTableName, getTableNames, getTablePerClassPolicy, getTables, getTypedField, getUnitOfWorkCacheIsolationLevel, getWrapperPolicy, hasCascadeLockingPolicies, hasCMPPolicy, hasDependencyOnParts, hasDerivedId, hasFetchGroupManager, hasInheritance, hasInterfacePolicy, hasMappingsPostCalculateChanges, hasMappingsPostCalculateChangesOnDeleted, hasMultipleTableConstraintDependecy, hasMultipleTables, hasPessimisticLockingPolicy, hasPreDeleteMappings, hasPrivatelyOwnedParts, hasQueryKeyOrMapping, hasRelationships, hasReturningPolicy, hasSimplePrimaryKey, hasTablePerClassPolicy, hasWrapperPolicy, initializeMultipleTablePrimaryKeyFields, interfaceInitialization, isAbstract, isAggregateCollectionDescriptor, isAggregateDescriptor, isChildDescriptor, isDescriptorForCMP, isDescriptorForInterface, isDescriptorTypeAggregate, isDescriptorTypeNormal, isFullyInitialized, isInterfaceChildDescriptor, isInvalid, isIsolated, isMultipleTableDescriptor, isNativeConnectionRequired, isObjectRelationalDataTypeDescriptor, isPrimaryKeySetAfterInsert, onlyRefreshCacheIfNewerVersion, postInitialize, preInterfaceInitialization, rehashFieldDependancies, reInitializeJoinedAttributes, remoteInitialization, removeMappingForAttributeName, removeProperty, setAdditionalTablePrimaryKeyFields, setAlias, setAmendmentClass, setAmendmentClassName, setAmendmentMethodName, setCacheInterceptorClass, setCacheInterceptorClassName, setCacheInvalidationPolicy, setCacheKeyType, setCacheSynchronizationType, setCMPPolicy, setConstraintDependencies, setCopyPolicy, setCopyPolicyClassName, setDefaultDeleteObjectQueryRedirector, setDefaultDeleteObjectQueryRedirectorClassName, setDefaultInsertObjectQueryRedirector, setDefaultInsertObjectQueryRedirectorClassName, setDefaultQueryRedirector, setDefaultQueryRedirectorClassName, setDefaultReadAllQueryRedirector, setDefaultReadAllQueryRedirectorClassName, setDefaultReadObjectQueryRedirector, setDefaultReadObjectQueryRedirectorClassName, setDefaultReportQueryRedirector, setDefaultReportQueryRedirectorClassName, setDefaultTable, setDefaultTableName, setDefaultUpdateObjectQueryRedirector, setDefaultUpdateObjectQueryRedirectorClassName, setDescriptorType, setDescriptorTypeValue, setEventManager, setExistenceChecking, setFetchGroupManager, setFields, setForeignKeyFieldNamesForMultipleTable, setHasMultipleTableConstraintDependecy, setHasRelationships, setHasSimplePrimaryKey, setHistoryPolicy, setIdentityMapClass, setIdentityMapSize, setIdValidation, setInheritancePolicy, setInstantiationPolicy, setInterfacePolicy, setInternalDefaultTable, setInternalDefaultTable, setIsIsolated, setIsNativeConnectionRequired, setJavaClass, setJavaClassName, setJavaInterface, setJavaInterfaceName, setLockableMappings, setMappings, setMultipleTableInsertOrder, setObjectChangePolicy, setOptimisticLockingPolicy, setPrimaryKeyFieldName, setPrimaryKeyFieldNames, setPrimaryKeyFields, setPrimaryKeyIdValidations, setProperties, setProperty, setQueryKeys, setReadOnly, setRemoteIdentityMapClass, setRemoteIdentityMapSize, setReturningPolicy, setSequence, setSequenceNumberField, setSequenceNumberName, setShouldAcquireCascadedLocks, setShouldAlwaysConformResultsInUnitOfWork, setShouldAlwaysRefreshCache, setShouldAlwaysRefreshCacheOnRemote, setShouldBeReadOnly, setShouldDisableCacheHits, setShouldDisableCacheHitsOnRemote, setShouldOnlyRefreshCacheIfNewerVersion, setShouldOrderMappings, setShouldRegisterResultsInUnitOfWork, setTableName, setTableNames, setTablePerClassPolicy, setTableQualifier, setTables, setUnitOfWorkCacheIsolationLevel, setWrapperPolicy, shouldAcquireCascadedLocks, shouldAlwaysConformResultsInUnitOfWork, shouldAlwaysRefreshCache, shouldAlwaysRefreshCacheOnRemote, shouldBeReadOnly, shouldDisableCacheHits, shouldDisableCacheHitsOnRemote, shouldIsolateObjectsInUnitOfWork, shouldIsolateObjectsInUnitOfWorkEarlyTransaction, shouldOnlyRefreshCacheIfNewerVersion, shouldOrderMappings, shouldRegisterResultsInUnitOfWork, 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, useRemoteCacheIdentityMap, useRemoteFullIdentityMap, useRemoteHardCacheWeakIdentityMap, useRemoteNoIdentityMap, useRemoteSoftCacheWeakIdentityMap, useRemoteSoftIdentityMap, useRemoteWeakIdentityMap, useSelectedFieldsLocking, usesFieldLocking, useSoftCacheWeakIdentityMap, useSoftIdentityMap, usesOptimisticLocking, usesSequenceNumbers, usesVersionLocking, useTimestampLocking, useTimestampLocking, useVersionLocking, useVersionLocking, useWeakIdentityMappublic static final String MAPPED
public static final String INDEXED
public static final String XML
public void setDataTypeName(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 String getDataFormat()
public String getDataTypeName() throws DescriptorException
DescriptorExceptionpublic void setDataFormat(String dataFormat)
public void useMappedRecordFormat()
public void useIndexedRecordFormat()
public void useXMLRecordFormat()
public org.eclipse.persistence.internal.sessions.AbstractRecord buildNestedRowFromFieldValue(Object fieldValue)
buildNestedRowFromFieldValue in class ClassDescriptorpublic Vector buildNestedRowsFromFieldValue(Object fieldValue, org.eclipse.persistence.internal.sessions.AbstractSession session)
buildNestedRowsFromFieldValue in class ClassDescriptorpublic Vector buildDirectValuesFromFieldValue(Object fieldValue)
buildDirectValuesFromFieldValue in class ClassDescriptorpublic Object buildFieldValueFromDirectValues(Vector directValues, String elementDataTypeName, org.eclipse.persistence.internal.sessions.AbstractSession session)
buildFieldValueFromDirectValues in class ClassDescriptorpublic Object buildFieldValueFromNestedRow(org.eclipse.persistence.internal.sessions.AbstractRecord nestedRow, org.eclipse.persistence.internal.sessions.AbstractSession session) throws DatabaseException
buildFieldValueFromNestedRow in class ClassDescriptorDatabaseExceptionpublic Object buildFieldValueFromNestedRows(Vector nestedRows, String structureName, org.eclipse.persistence.internal.sessions.AbstractSession session) throws DatabaseException
buildFieldValueFromNestedRows in class ClassDescriptorDatabaseExceptionpublic org.eclipse.persistence.internal.helper.DatabaseField buildField(String fieldName)
buildField in class ClassDescriptorpublic org.eclipse.persistence.internal.helper.DatabaseField buildField(org.eclipse.persistence.internal.helper.DatabaseField field)
buildField in class ClassDescriptorpublic DatabaseMapping addDirectMapping(String attributeName, 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(String attributeName, String getMethodName, String setMethodName, String fieldName)
addDirectMapping in class ClassDescriptorpublic void addPrimaryKeyFieldName(String fieldName)
addPrimaryKeyFieldName in class ClassDescriptor#addMultipleTableForeignKeyFieldName(String, String);public void setSequenceNumberFieldName(String fieldName)
setSequenceNumberFieldName in class ClassDescriptorpublic org.eclipse.persistence.internal.databaseaccess.DatabaseCall buildCallFromStatement(org.eclipse.persistence.internal.expressions.SQLStatement statement,
org.eclipse.persistence.internal.sessions.AbstractSession session)
buildCallFromStatement in class ClassDescriptorpublic 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()
requiresInitialization in class ClassDescriptorpublic boolean isReturnTypeRequiredForReturningPolicy()
isReturnTypeRequiredForReturningPolicy in class ClassDescriptorpublic boolean shouldUseFullChangeSetsForNewObjects()
shouldUseFullChangeSetsForNewObjects in class ClassDescriptor