Package org.eclipse.persistence.eis
Class EISDescriptor
- java.lang.Object
-
- org.eclipse.persistence.core.descriptors.CoreDescriptor<AttributeGroup,DescriptorEventManager,org.eclipse.persistence.internal.helper.DatabaseField,InheritancePolicy,org.eclipse.persistence.internal.descriptors.InstantiationPolicy,java.util.Vector,org.eclipse.persistence.internal.descriptors.ObjectBuilder>
-
- 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
Fields Modifier and Type Field Description 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
accessorTree, additionalAggregateCollectionKeyFields, additionalTablePrimaryKeyFields, additionalWritableMapKeyFields, AGGREGATE, AGGREGATE_COLLECTION, alias, allFields, allSelectionFields, amendmentClass, amendmentClassName, amendmentMethodName, cacheInvalidationPolicy, cachePolicy, cascadedLockingInitialized, cascadeLockingPolicies, changePolicy, cmpPolicy, constraintDependencies, copyPolicy, copyPolicyClassName, defaultDeleteObjectQueryRedirector, defaultDeleteObjectQueryRedirectorClassName, defaultInsertObjectQueryRedirector, defaultInsertObjectQueryRedirectorClassName, defaultQueryRedirector, defaultQueryRedirectorClassName, defaultReadAllQueryRedirector, defaultReadAllQueryRedirectorClassName, defaultReadObjectQueryRedirector, defaultReadObjectQueryRedirectorClassName, defaultReportQueryRedirector, defaultReportQueryRedirectorClassName, defaultTable, defaultUpdateObjectQueryRedirector, defaultUpdateObjectQueryRedirectorClassName, derivesIdMappings, descriptorCustomizerClassName, descriptorType, DO_NOT_SEND_CHANGES, ERROR, fetchGroupManager, fields, foreignKeyValuesForCaching, hasMultipleTableConstraintDependecy, hasNoncacheableMappings, hasRelationships, hasSimplePrimaryKey, historyPolicy, idValidation, initializationStage, INITIALIZED, 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, multitenantPolicy, NORMAL, optimisticLockingPolicy, partitioningPolicy, partitioningPolicyName, POST_INITIALIZED, preDeleteMappings, PREINITIALIZED, primaryKeyFields, primaryKeyIdValidations, properties, queryKeys, queryManager, referencingClasses, returnFieldsToGenerateInsert, returnFieldsToGenerateUpdate, returnFieldsToMergeInsert, returnFieldsToMergeUpdate, returningPolicies, returningPolicy, selectionFields, SEND_NEW_OBJECTS_WITH_CHANGES, SEND_OBJECT_CHANGES, sequence, sequenceNumberField, sequenceNumberName, serializedObjectPolicy, sessionName, shouldAcquireCascadedLocks, shouldAlwaysConformResultsInUnitOfWork, shouldBeReadOnly, shouldLockForClone, shouldOrderMappings, shouldRegisterResultsInUnitOfWork, shouldUseFullChangeSetsForNewObjects, tables, unconvertedProperties, UNDEFINED_ISOLATATION, UNDEFINED_OBJECT_CHANGE_BEHAVIOR, UNINITIALIZED, USE_SESSION_CACHE_AFTER_TRANSACTION, virtualAttributeMethods, weavingUsesPropertyAccess, wrapperPolicy
-
Fields inherited from class org.eclipse.persistence.core.descriptors.CoreDescriptor
attributeGroups, eventManager, field, inheritancePolicy, instantiationPolicy, objectBuilder
-
-
Constructor Summary
Constructors Constructor Description EISDescriptor()
Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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(java.lang.String fieldName)
INTERNAL: XML type descriptors should use XMLFields.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.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(DescriptorQueryManager queryManager, org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Initialize the query manager specific to the descriptor type.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
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.protected void
validateMappingType(DatabaseMapping mapping)
-
Methods inherited from class org.eclipse.persistence.descriptors.ClassDescriptor
addAbstractQueryKey, addCascadeLockingPolicy, addConstraintDependencies, addConstraintDependency, addDirectQueryKey, addForeignKeyFieldForMultipleTable, addForeignKeyFieldNameForMultipleTable, addMapping, addMappingsPostCalculateChanges, addMappingsPostCalculateChangesOnDeleted, addPreDeleteMapping, addPrimaryKeyField, addQueryKey, addTable, addTableName, addUnconvertedProperty, adjustMultipleTableInsertOrder, alwaysConformResultsInUnitOfWork, alwaysRefreshCache, alwaysRefreshCacheOnRemote, applyAmendmentMethod, applyAmendmentMethod, arePrimaryKeyFields, assignDefaultValues, buildBatchCriteriaByPK, buildField, buildFieldValueFromForeignKeys, checkDatabase, checkInheritanceTreeAggregateSettings, clearReferencingClasses, clone, convertClassNamesToClasses, createCopyPolicy, createInstantiationPolicy, createMultipleTableInsertOrder, createMultipleTableInsertOrderFromComparison, createTableComparison, createTableOrder, 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, getReturnFieldsToGenerateInsert, getReturnFieldsToGenerateUpdate, getReturnFieldsToMergeInsert, getReturnFieldsToMergeUpdate, getReturningPolicies, 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, hasReturningPolicies, hasReturningPolicy, hasSerializedObjectPolicy, hasSimplePrimaryKey, hasTablePerClassPolicy, hasTablePerMultitenantPolicy, hasTargetForeignKeyMapping, hasUnconvertedProperties, hasWrapperPolicy, initializeMultipleTablePrimaryKeyFields, initializeProperties, interfaceInitialization, isAbstract, isAggregateCollectionDescriptor, isAggregateDescriptor, isCascadeOnDeleteSetOnDatabaseOnSecondaryTables, isChildDescriptor, isDescriptorForInterface, isDescriptorTypeAggregate, isDescriptorTypeNormal, isFullyInitialized, isInitialized, isInterfaceChildDescriptor, isInterfaceInitialized, isInvalid, isIsolated, isMultipleTableDescriptor, isNativeConnectionRequired, isObjectRelationalDataTypeDescriptor, isPrimaryKeySetAfterInsert, isProtectedIsolation, isRelationalDescriptor, isSharedIsolation, isXMLDescriptor, notifyReferencingDescriptorsOfIsolation, onlyRefreshCacheIfNewerVersion, postInitialize, preInitializeInheritancePolicy, preInterfaceInitialization, prepareCascadeLockingPolicy, rehashFieldDependancies, reInitializeJoinedAttributes, remoteInitialization, removeMappingForAttributeName, removeProperty, selfValidationAfterInitialization, selfValidationBeforeInitialization, setAccessorTree, setAdditionalTablePrimaryKeyFields, setAdditionalTablePrimaryKeyFields, setAlias, setAllFields, setAmendmentClass, setAmendmentClassName, setAmendmentMethodName, setCacheable, 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, setInitializationStage, setInstantiationPolicy, setInterfaceInitializationStage, setInterfacePolicy, setInternalDefaultTable, setInternalDefaultTable, setIsCascadeOnDeleteSetOnDatabaseOnSecondaryTables, setIsIsolated, setIsNativeConnectionRequired, setJavaClass, setJavaClassName, setJavaInterface, setJavaInterfaceName, setLockableMappings, setMappings, setMultipleTableForeignKeys, setMultipleTableInsertOrder, setMultitenantPolicy, setObjectBuilder, setObjectChangePolicy, setOptimisticLockingPolicy, setPartitioningPolicy, setPartitioningPolicyName, setPrimaryKeyFieldName, setPrimaryKeyFieldNames, setPrimaryKeyFields, setPrimaryKeyIdValidations, setProperties, setProperty, setQueryKeys, setReadOnly, setRemoteIdentityMapClass, setRemoteIdentityMapSize, setReturningPolicy, setSequence, setSequenceNumberField, setSequenceNumberName, setSerializedObjectPolicy, setSessionName, 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, toggleAdditionalTablePrimaryKeyFields, 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, useWeakIdentityMap, validateAfterInitialization, validateBeforeInitialization, verifyMultipleTableInsertOrder, verifyMultipleTablesForeignKeysTables, verifyTableQualifiers
-
Methods inherited from class org.eclipse.persistence.core.descriptors.CoreDescriptor
addAttributeGroup
-
-
-
-
Field Detail
-
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.
-
-
Method Detail
-
validateMappingType
protected void validateMappingType(DatabaseMapping mapping)
- Overrides:
validateMappingType
in classClassDescriptor
-
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 classClassDescriptor
-
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 classClassDescriptor
-
preInitialize
public void preInitialize(org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Configure the object builder for the correct dataFormat.- Overrides:
preInitialize
in classClassDescriptor
-
initialize
public void initialize(DescriptorQueryManager queryManager, org.eclipse.persistence.internal.sessions.AbstractSession session)
INTERNAL: Initialize the query manager specific to the descriptor type. Allow the platform to initialize the CRUD queries to defaults.- Overrides:
initialize
in classClassDescriptor
-
isXMLFormat
public boolean isXMLFormat()
-
isMappedFormat
public boolean isMappedFormat()
-
isIndexedFormat
public boolean isIndexedFormat()
-
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 classClassDescriptor
-
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 classClassDescriptor
-
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 classClassDescriptor
-
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 classClassDescriptor
-
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.- Overrides:
buildFieldValueFromNestedRow
in classClassDescriptor
- 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 classClassDescriptor
- 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 classClassDescriptor
-
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 classClassDescriptor
-
newDirectMapping
public AbstractDirectMapping newDirectMapping()
Return a new direct/basic mapping for this type of descriptor.- Overrides:
newDirectMapping
in classClassDescriptor
-
newAggregateMapping
public AggregateMapping newAggregateMapping()
Return a new aggregate/embedded mapping for this type of descriptor.- Overrides:
newAggregateMapping
in classClassDescriptor
-
newAggregateCollectionMapping
public DatabaseMapping newAggregateCollectionMapping()
Return a new aggregate collection/element collection mapping for this type of descriptor.- Overrides:
newAggregateCollectionMapping
in classClassDescriptor
-
newDirectCollectionMapping
public DatabaseMapping newDirectCollectionMapping()
Return a new direct collection/element collection mapping for this type of descriptor.- Overrides:
newDirectCollectionMapping
in classClassDescriptor
-
newOneToOneMapping
public ObjectReferenceMapping newOneToOneMapping()
Return a new one to one mapping for this type of descriptor.- Overrides:
newOneToOneMapping
in classClassDescriptor
-
newManyToOneMapping
public ObjectReferenceMapping newManyToOneMapping()
Return a new many to one mapping for this type of descriptor.- Overrides:
newManyToOneMapping
in classClassDescriptor
-
newOneToManyMapping
public CollectionMapping newOneToManyMapping()
Return a new one to many mapping for this type of descriptor.- Overrides:
newOneToManyMapping
in classClassDescriptor
-
newUnidirectionalOneToManyMapping
public CollectionMapping newUnidirectionalOneToManyMapping()
Return a new one to many mapping for this type of descriptor.- Overrides:
newUnidirectionalOneToManyMapping
in classClassDescriptor
-
newManyToManyMapping
public CollectionMapping newManyToManyMapping()
Return a new one to many mapping for this type of descriptor.- Overrides:
newManyToManyMapping
in classClassDescriptor
-
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 classClassDescriptor
- Parameters:
attributeName
- instanceVariableName is the name of an instance variable of the class which the receiver describes.fieldName
- 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 classClassDescriptor
-
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 classClassDescriptor
- See Also:
ClassDescriptor.addForeignKeyFieldNameForMultipleTable(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 classClassDescriptor
-
buildCallFromStatement
public 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. SQL should not be generated for EIS Calls.- Overrides:
buildCallFromStatement
in classClassDescriptor
-
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 classClassDescriptor
- 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 classClassDescriptor
-
requiresInitialization
public 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.- Overrides:
requiresInitialization
in classClassDescriptor
-
extractDefaultTable
protected org.eclipse.persistence.internal.helper.DatabaseTable extractDefaultTable()
Aggregates use a dummy table as default.- Overrides:
extractDefaultTable
in classClassDescriptor
-
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 classClassDescriptor
-
isEISDescriptor
public boolean isEISDescriptor()
PUBLIC: Return if the descriptor maps to an EIS or NoSQL datasource.- Overrides:
isEISDescriptor
in classClassDescriptor
-
shouldUseFullChangeSetsForNewObjects
public boolean shouldUseFullChangeSetsForNewObjects()
INTERNAL: Return if change sets are required for new objects.- Overrides:
shouldUseFullChangeSetsForNewObjects
in classClassDescriptor
-
-