org.eclipse.persistence.eis
Class EISDescriptor
java.lang.Object
org.eclipse.persistence.descriptors.ClassDescriptor
org.eclipse.persistence.eis.EISDescriptor
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable
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:
- Root - indicates to the EclipseLink runtime that the EIS descriptor's
reference class is a parent class: no other class will reference it by way of
a composite object mapping or composite collection mapping. For an EIS root
descriptor, EIS interactions can be defined to invoke methods on an EIS
- Composite - indicates to the EclipseLink runtime that the EIS descriptor's
reference class may be referenced by a composite object mapping or composite
collection mapping
- See Also:
EISInteraction
,
EISMapping
,
Serialized Form- Author:
- James
- Since:
- OracleAS TopLink 10g (10.0.3)
Field Summary |
protected java.lang.String |
dataFormat
Define the type of data the descriptor maps to. |
static java.lang.String |
INDEXED
|
static java.lang.String |
MAPPED
Define the valid data formats that the descriptor can map to. |
protected NamespaceResolver |
namespaceResolver
Allow namespaces to be specified for XML type descriptors. |
static java.lang.String |
XML
|
Fields inherited from class org.eclipse.persistence.descriptors.ClassDescriptor |
additionalAggregateCollectionKeyFields, additionalTablePrimaryKeyFields, additionalWritableMapKeyFields, AGGREGATE, AGGREGATE_COLLECTION, alias, allFields, amendmentClass, amendmentClassName, amendmentMethodName, cacheInterceptorClass, cacheInterceptorClassName, cacheInvalidationPolicy, cacheIsolation, cacheKeyType, cacheSynchronizationType, cascadeLockingPolicies, changePolicy, cmpPolicy, constraintDependencies, copyPolicy, copyPolicyClassName, defaultDeleteObjectQueryRedirector, defaultDeleteObjectQueryRedirectorClassName, defaultInsertObjectQueryRedirector, defaultInsertObjectQueryRedirectorClassName, defaultQueryRedirector, defaultQueryRedirectorClassName, defaultReadAllQueryRedirector, defaultReadAllQueryRedirectorClassName, defaultReadObjectQueryRedirector, defaultReadObjectQueryRedirectorClassName, defaultReportQueryRedirector, defaultReportQueryRedirectorClassName, defaultTable, defaultUpdateObjectQueryRedirector, defaultUpdateObjectQueryRedirectorClassName, derivesIdMappings, descriptorType, DO_NOT_SEND_CHANGES, ERROR, eventManager, fetchGroupManager, fields, foreignKeyValuesForCaching, hasMultipleTableConstraintDependecy, hasNoncacheableMappings, hasRelationships, hasSimplePrimaryKey, historyPolicy, identityMapClass, identityMapSize, idValidation, inheritancePolicy, initializationStage, INITIALIZED, instantiationPolicy, INTERFACE, interfaceInitializationStage, interfacePolicy, INVALIDATE_CHANGED_OBJECTS, isCascadeOnDeleteSetOnDatabaseOnSecondaryTables, isNativeConnectionRequired, ISOLATE_CACHE_AFTER_TRANSACTION, ISOLATE_CACHE_ALWAYS, ISOLATE_FROM_CLIENT_SESSION, ISOLATE_NEW_DATA_AFTER_TRANSACTION, javaClass, javaClassName, lockableMappings, mappings, mappingsPostCalculateChanges, mappingsPostCalculateChangesOnDeleted, multipleTableForeignKeys, multipleTableInsertOrder, NORMAL, objectBuilder, optimisticLockingPolicy, partitioningPolicy, partitioningPolicyName, POST_INITIALIZED, preDeleteMappings, PREINITIALIZED, primaryKeyFields, primaryKeyIdValidations, properties, queryKeys, queryManager, referencingClasses, remoteIdentityMapClass, remoteIdentityMapSize, returningPolicy, SEND_NEW_OBJECTS_WITH_CHANGES, SEND_OBJECT_CHANGES, sequence, sequenceNumberField, sequenceNumberName, sessionName, shouldAcquireCascadedLocks, shouldAlwaysConformResultsInUnitOfWork, shouldAlwaysRefreshCache, shouldAlwaysRefreshCacheOnRemote, shouldBeReadOnly, shouldDisableCacheHits, shouldDisableCacheHitsOnRemote, shouldOnlyRefreshCacheIfNewerVersion, shouldOrderMappings, shouldRegisterResultsInUnitOfWork, shouldUseFullChangeSetsForNewObjects, tables, UNDEFINED_ISOLATATION, UNDEFINED_OBJECT_CHANGE_BEHAVIOR, UNINITIALIZED, unitOfWorkCacheIsolationLevel, USE_SESSION_CACHE_AFTER_TRANSACTION, wrapperPolicy |
Method Summary |
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.DatabaseCall |
buildCallFromStatement(org.eclipse.persistence.internal.expressions.SQLStatement statement,
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. |
protected org.eclipse.persistence.internal.helper.DatabaseTable |
extractDefaultTable()
Aggregates use a dummy table as default. |
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 |
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(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. |
protected void |
validateMappingType(DatabaseMapping mapping)
|
Methods inherited from class org.eclipse.persistence.descriptors.ClassDescriptor |
addAbstractQueryKey, addCascadeLockingPolicy, addConstraintDependencies, addConstraintDependency, addDirectQueryKey, addForeignKeyFieldForMultipleTable, addForeignKeyFieldNameForMultipleTable, addMapping, addMappingsPostCalculateChanges, addMappingsPostCalculateChangesOnDeleted, addPrimaryKeyField, addQueryKey, addTable, addTableName, adjustMultipleTableInsertOrder, alwaysConformResultsInUnitOfWork, alwaysRefreshCache, alwaysRefreshCacheOnRemote, applyAmendmentMethod, applyAmendmentMethod, arePrimaryKeyFields, assignDefaultValues, buildField, buildFieldValueFromForeignKeys, checkDatabase, checkInheritanceTreeAggregateSettings, clone, convertClassNamesToClasses, createCopyPolicy, createInstantiationPolicy, createMultipleTableInsertOrder, createMultipleTableInsertOrderFromComparison, createTableComparison, createTableOrder, descriptorIsAggregate, descriptorIsAggregateCollection, descriptorIsForInterface, descriptorIsNormal, disableCacheHits, disableCacheHitsOnRemote, dontAlwaysConformResultsInUnitOfWork, dontAlwaysRefreshCache, dontAlwaysRefreshCacheOnRemote, dontDisableCacheHits, dontDisableCacheHitsOnRemote, dontOnlyRefreshCacheIfNewerVersion, getAdditionalAggregateCollectionKeyFields, getAdditionalTablePrimaryKeyFields, getAdditionalWritableMapKeyFields, getAlias, getAllFields, getAmendmentClass, getAmendmentClassName, getAmendmentMethodName, getCacheInterceptorClass, getCacheInterceptorClassName, getCacheInvalidationPolicy, getCacheIsolation, 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, getForeignKeyValuesForCaching, getHistoryPolicy, getIdentityMapClass, getIdentityMapSize, getIdValidation, getInheritancePolicyOrNull, getInstantiationPolicy, getInterfacePolicy, getInterfacePolicyOrNull, getJavaClass, getJavaClassName, getLockableMappings, getMappingForAttributeName, getMappings, getMappingsPostCalculateChanges, getMappingsPostCalculateChangesOnDeleted, getMultipleTableForeignKeyAssociations, getMultipleTableForeignKeys, getMultipleTableInsertOrder, getMultipleTablePrimaryKeyAssociations, getObjectBuilder, getObjectChangePolicy, getObjectChangePolicyInternal, getOptimisticLockingPolicy, getPartitioningPolicy, getPartitioningPolicyName, 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, hasNoncacheableMappings, hasPessimisticLockingPolicy, hasPreDeleteMappings, hasPrivatelyOwnedParts, hasQueryKeyOrMapping, hasRelationships, hasReturningPolicy, hasSimplePrimaryKey, hasTablePerClassPolicy, hasWrapperPolicy, initializeMultipleTablePrimaryKeyFields, initializeProperties, interfaceInitialization, isAbstract, isAggregateCollectionDescriptor, isAggregateDescriptor, isCascadeOnDeleteSetOnDatabaseOnSecondaryTables, isChildDescriptor, isDescriptorForInterface, isDescriptorTypeAggregate, isDescriptorTypeNormal, isFullyInitialized, isInitialized, isInterfaceChildDescriptor, isInterfaceInitialized, isInvalid, isIsolated, isMultipleTableDescriptor, isNativeConnectionRequired, isObjectRelationalDataTypeDescriptor, isPrimaryKeySetAfterInsert, isProtectedIsolation, isSharedIsolation, notifyReferencingDescriptorsOfIsolation, onlyRefreshCacheIfNewerVersion, postInitialize, preInitializeInheritancePolicy, preInterfaceInitialization, prepareCascadeLockingPolicy, rehashFieldDependancies, reInitializeJoinedAttributes, remoteInitialization, removeMappingForAttributeName, removeProperty, selfValidationAfterInitialization, selfValidationBeforeInitialization, setAdditionalTablePrimaryKeyFields, setAdditionalTablePrimaryKeyFields, setAlias, setAllFields, setAmendmentClass, setAmendmentClassName, setAmendmentMethodName, setCacheInterceptorClass, setCacheInterceptorClassName, setCacheInvalidationPolicy, setCacheIsolation, 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, setInitializationStage, setInstantiationPolicy, setInterfaceInitializationStage, setInterfacePolicy, setInternalDefaultTable, setInternalDefaultTable, setIsCascadeOnDeleteSetOnDatabaseOnSecondaryTables, setIsIsolated, setIsNativeConnectionRequired, setJavaClass, setJavaClassName, setJavaInterface, setJavaInterfaceName, setLockableMappings, setMappings, setMultipleTableForeignKeys, setMultipleTableInsertOrder, setObjectBuilder, setObjectChangePolicy, setOptimisticLockingPolicy, setPartitioningPolicy, setPartitioningPolicyName, setPrimaryKeyFieldName, setPrimaryKeyFieldNames, setPrimaryKeyFields, setPrimaryKeyIdValidations, setProperties, setProperty, setQueryKeys, setReadOnly, setRemoteIdentityMapClass, setRemoteIdentityMapSize, setReturningPolicy, setSequence, setSequenceNumberField, setSequenceNumberName, setSessionName, 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, shouldIsolateProtectedObjectsInUnitOfWork, shouldOnlyRefreshCacheIfNewerVersion, shouldOrderMappings, shouldRegisterResultsInUnitOfWork, shouldUseAdditionalJoinExpression, shouldUseCacheIdentityMap, shouldUseFullIdentityMap, shouldUseHardCacheWeakIdentityMap, shouldUseNoIdentityMap, shouldUseRemoteCacheIdentityMap, shouldUseRemoteFullIdentityMap, shouldUseRemoteHardCacheWeakIdentityMap, shouldUseRemoteNoIdentityMap, shouldUseRemoteSoftCacheWeakIdentityMap, shouldUseRemoteSoftIdentityMap, shouldUseRemoteWeakIdentityMap, shouldUseSessionCacheInUnitOfWorkEarlyTransaction, shouldUseSoftCacheWeakIdentityMap, shouldUseSoftIdentityMap, shouldUseWeakIdentityMap, supportsChangeTracking, toggleAdditionalTablePrimaryKeyFields, 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, validateAfterInitialization, validateBeforeInitialization, verifyMultipleTableInsertOrder, verifyMultipleTablesForeignKeysTables, verifyTableQualifiers |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
dataFormat
protected java.lang.String dataFormat
- Define the type of data the descriptor maps to.
MAPPED
public static final java.lang.String MAPPED
- Define the valid data formats that the descriptor can map to.
- See Also:
- Constant Field Values
INDEXED
public static final java.lang.String INDEXED
- See Also:
- Constant Field Values
XML
public static final java.lang.String XML
- See Also:
- Constant Field Values
namespaceResolver
protected NamespaceResolver namespaceResolver
- Allow namespaces to be specified for XML type descriptors.
EISDescriptor
public EISDescriptor()
- Default constructor.
validateMappingType
protected void validateMappingType(DatabaseMapping mapping)
- Overrides:
validateMappingType
in class ClassDescriptor
setDataTypeName
public void setDataTypeName(java.lang.String dataTypeName)
throws DescriptorException
- PUBLIC:
Specify the data type name for the class of objects the descriptor maps.
This may be the XML schema complex type name, or the JCA record name for the type being mapped.
- Throws:
DescriptorException
getNamespaceResolver
public NamespaceResolver getNamespaceResolver()
- PUBLIC:
Return the XML namespace resolver.
XML type EIS descriptor can use a namespace resolver to support XML schema namespaces.
getInheritancePolicy
public InheritancePolicy getInheritancePolicy()
- PUBLIC:
The inheritance policy is used to define how a descriptor takes part in inheritance.
All inheritance properties for both child and parent classes is configured in inheritance policy.
Caution must be used in using this method as it lazy initializes an inheritance policy.
Calling this on a descriptor that does not use inheritance will cause problems, #hasInheritance() must always first be called.
- Overrides:
getInheritancePolicy
in class ClassDescriptor
setNamespaceResolver
public void setNamespaceResolver(NamespaceResolver namespaceResolver)
- PUBLIC:
Set the XML namespace resolver.
XML type EIS descriptor can use a namespace resolver to support XML schema namespaces.
setQueryManager
public void setQueryManager(DescriptorQueryManager queryManager)
- INTERNAL:
Avoid SDK initialization.
- Overrides:
setQueryManager
in class ClassDescriptor
preInitialize
public void preInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
- INTERNAL:
Configure the object builder for the correct dataFormat.
- Overrides:
preInitialize
in class ClassDescriptor
getDataFormat
public java.lang.String getDataFormat()
- PUBLIC:
Return the data format that the descriptor maps to.
getDataTypeName
public java.lang.String getDataTypeName()
throws DescriptorException
- PUBLIC:
Specify the data type name for the class of objects the descriptor maps.
This may be the XML schema complex type name, or the JCA record name for the type being mapped.
- Throws:
DescriptorException
setDataFormat
public void setDataFormat(java.lang.String dataFormat)
- PUBLIC:
Configure the data format that the descriptor maps to.
useMappedRecordFormat
public void useMappedRecordFormat()
- PUBLIC:
Configure the data format to use mapped records.
useIndexedRecordFormat
public void useIndexedRecordFormat()
- PUBLIC:
Configure the data format to use indexed records.
useXMLRecordFormat
public void useXMLRecordFormat()
- PUBLIC:
Configure the data format to use xml records.
buildNestedRowFromFieldValue
public org.eclipse.persistence.internal.sessions.AbstractRecord buildNestedRowFromFieldValue(java.lang.Object fieldValue)
- INTERNAL:
Build the nested row.
- Overrides:
buildNestedRowFromFieldValue
in class ClassDescriptor
buildNestedRowsFromFieldValue
public java.util.Vector buildNestedRowsFromFieldValue(java.lang.Object fieldValue,
org.eclipse.persistence.internal.sessions.AbstractSession session)
- INTERNAL:
Build the nested rows.
- Overrides:
buildNestedRowsFromFieldValue
in class ClassDescriptor
buildDirectValuesFromFieldValue
public java.util.Vector buildDirectValuesFromFieldValue(java.lang.Object fieldValue)
- INTERNAL:
Extract the direct values from the specified field value.
Return them in a vector.
The field value could be a vector or could be a text value if only a single value.
- Overrides:
buildDirectValuesFromFieldValue
in class ClassDescriptor
buildFieldValueFromDirectValues
public 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.
The database better be expecting a Vector.
- Overrides:
buildFieldValueFromDirectValues
in class ClassDescriptor
buildFieldValueFromNestedRow
public java.lang.Object buildFieldValueFromNestedRow(org.eclipse.persistence.internal.sessions.AbstractRecord nestedRow,
org.eclipse.persistence.internal.sessions.AbstractSession session)
throws DatabaseException
- INTERNAL:
Build and return the field value from the specified nested database row.
The database better be expecting an SDKFieldValue.
- Overrides:
buildFieldValueFromNestedRow
in class ClassDescriptor
- Throws:
DatabaseException
buildFieldValueFromNestedRows
public java.lang.Object buildFieldValueFromNestedRows(java.util.Vector nestedRows,
java.lang.String structureName,
org.eclipse.persistence.internal.sessions.AbstractSession session)
throws DatabaseException
- INTERNAL:
Build and return the appropriate field value for the specified
set of nested rows.
- Overrides:
buildFieldValueFromNestedRows
in class ClassDescriptor
- Throws:
DatabaseException
buildField
public org.eclipse.persistence.internal.helper.DatabaseField buildField(java.lang.String fieldName)
- INTERNAL:
XML type descriptors should use XMLFields.
- Overrides:
buildField
in class ClassDescriptor
buildField
public 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.
This allows the resolver to only be set in the descriptor.
- Overrides:
buildField
in class ClassDescriptor
addDirectMapping
public DatabaseMapping addDirectMapping(java.lang.String attributeName,
java.lang.String fieldName)
- PUBLIC:
Add a direct mapping to the receiver. The new mapping specifies that
an instance variable of the class of objects which the receiver describes maps in
the default manner for its type to the indicated database field.
- Overrides:
addDirectMapping
in class ClassDescriptor
- Parameters:
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.
- Returns:
- The newly created DatabaseMapping is returned.
addDirectMapping
public 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. The new mapping specifies that
a variable accessed by the get and set methods of the class of objects which
the receiver describes maps in the default manner for its type to the indicated
database field.
- Overrides:
addDirectMapping
in class ClassDescriptor
addPrimaryKeyFieldName
public void addPrimaryKeyFieldName(java.lang.String fieldName)
- PUBLIC:
Specify the primary key field.
This should be called for each field that make up the primary key.
For EIS XML Descriptors use the addPrimaryKeyField(DatabaseField) API
and supply an org.eclipse.persistence.oxm.XMLField parameter instead of using this method
- Overrides:
addPrimaryKeyFieldName
in class ClassDescriptor
- See Also:
#addMultipleTableForeignKeyFieldName(String, String);
setSequenceNumberFieldName
public void setSequenceNumberFieldName(java.lang.String fieldName)
- PUBLIC:
Set the sequence number field name.
This is the field in the descriptors table that needs its value to be generated.
This is normally the primary key field of the descriptor.
For EIS XML Descriptors use the setSequenceNumberFieldName(DatabaseField) API
and supply an org.eclipse.persistence.oxm.XMLField parameter instead of using this method
- Overrides:
setSequenceNumberFieldName
in class ClassDescriptor
buildCallFromStatement
public 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. SQL should not be generated for
EIS Calls.
- Overrides:
buildCallFromStatement
in class ClassDescriptor
initialize
public void initialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
throws DescriptorException
- Description copied from class:
ClassDescriptor
- INTERNAL:
Initialize the mappings as a separate step.
This is done as a separate step to ensure that inheritance has been first resolved.
- Overrides:
initialize
in class ClassDescriptor
- Throws:
DescriptorException
initializeAggregateInheritancePolicy
public void initializeAggregateInheritancePolicy(org.eclipse.persistence.internal.sessions.AbstractSession session)
- INTERNAL:
This is needed by regular aggregate descriptors
* but not by EIS aggregate descriptors.
- Overrides:
initializeAggregateInheritancePolicy
in class ClassDescriptor
requiresInitialization
public boolean requiresInitialization()
- INTERNAL:
XML descriptors are initialized normally, since they do
not need to be cloned by ESI aggregate mappings.
- Overrides:
requiresInitialization
in class ClassDescriptor
extractDefaultTable
protected org.eclipse.persistence.internal.helper.DatabaseTable extractDefaultTable()
- Aggregates use a dummy table as default.
- Overrides:
extractDefaultTable
in class ClassDescriptor
isReturnTypeRequiredForReturningPolicy
public boolean isReturnTypeRequiredForReturningPolicy()
- INTERNAL:
Indicates if a return type is required for the field set on the
returning policy. For EIS descriptors, this should always
return false.
- Overrides:
isReturnTypeRequiredForReturningPolicy
in class ClassDescriptor
shouldUseFullChangeSetsForNewObjects
public boolean shouldUseFullChangeSetsForNewObjects()
- INTERNAL:
Return if change sets are required for new objects.
- Overrides:
shouldUseFullChangeSetsForNewObjects
in class ClassDescriptor