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 FormModifier 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, useWeakIdentityMap
public static final String MAPPED
public static final String INDEXED
public static final String XML
public void setDataTypeName(String dataTypeName) throws DescriptorException
DescriptorException
public NamespaceResolver getNamespaceResolver()
public InheritancePolicy getInheritancePolicy()
getInheritancePolicy
in class ClassDescriptor
public void setNamespaceResolver(NamespaceResolver namespaceResolver)
public void setQueryManager(DescriptorQueryManager queryManager)
setQueryManager
in class ClassDescriptor
public void preInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
preInitialize
in class ClassDescriptor
public String getDataFormat()
public String getDataTypeName() throws DescriptorException
DescriptorException
public 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 ClassDescriptor
public Vector buildNestedRowsFromFieldValue(Object fieldValue, org.eclipse.persistence.internal.sessions.AbstractSession session)
buildNestedRowsFromFieldValue
in class ClassDescriptor
public Vector buildDirectValuesFromFieldValue(Object fieldValue)
buildDirectValuesFromFieldValue
in class ClassDescriptor
public Object buildFieldValueFromDirectValues(Vector directValues, String elementDataTypeName, org.eclipse.persistence.internal.sessions.AbstractSession session)
buildFieldValueFromDirectValues
in class ClassDescriptor
public Object buildFieldValueFromNestedRow(org.eclipse.persistence.internal.sessions.AbstractRecord nestedRow, org.eclipse.persistence.internal.sessions.AbstractSession session) throws DatabaseException
buildFieldValueFromNestedRow
in class ClassDescriptor
DatabaseException
public Object buildFieldValueFromNestedRows(Vector nestedRows, String structureName, org.eclipse.persistence.internal.sessions.AbstractSession session) throws DatabaseException
buildFieldValueFromNestedRows
in class ClassDescriptor
DatabaseException
public org.eclipse.persistence.internal.helper.DatabaseField buildField(String fieldName)
buildField
in class ClassDescriptor
public org.eclipse.persistence.internal.helper.DatabaseField buildField(org.eclipse.persistence.internal.helper.DatabaseField field)
buildField
in class ClassDescriptor
public DatabaseMapping addDirectMapping(String attributeName, String fieldName)
addDirectMapping
in class ClassDescriptor
String
- 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 ClassDescriptor
public void addPrimaryKeyFieldName(String fieldName)
addPrimaryKeyFieldName
in class ClassDescriptor
#addMultipleTableForeignKeyFieldName(String, String);
public void setSequenceNumberFieldName(String fieldName)
setSequenceNumberFieldName
in class ClassDescriptor
public org.eclipse.persistence.internal.databaseaccess.DatabaseCall buildCallFromStatement(org.eclipse.persistence.internal.expressions.SQLStatement statement, org.eclipse.persistence.internal.sessions.AbstractSession session)
buildCallFromStatement
in class ClassDescriptor
public void initialize(org.eclipse.persistence.internal.sessions.AbstractSession session) throws DescriptorException
ClassDescriptor
initialize
in class ClassDescriptor
DescriptorException
public void initializeAggregateInheritancePolicy(org.eclipse.persistence.internal.sessions.AbstractSession session)
initializeAggregateInheritancePolicy
in class ClassDescriptor
public boolean requiresInitialization()
requiresInitialization
in class ClassDescriptor
public boolean isReturnTypeRequiredForReturningPolicy()
isReturnTypeRequiredForReturningPolicy
in class ClassDescriptor
public boolean shouldUseFullChangeSetsForNewObjects()
shouldUseFullChangeSetsForNewObjects
in class ClassDescriptor