Module org.eclipse.persistence.jpa
Class BasicMapAccessor
- java.lang.Object
-
- org.eclipse.persistence.internal.jpa.metadata.ORMetadata
-
- org.eclipse.persistence.internal.jpa.metadata.accessors.MetadataAccessor
-
- org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.MappingAccessor
-
- org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.DirectAccessor
-
- org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.DirectCollectionAccessor
-
- org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.BasicCollectionAccessor
-
- org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.BasicMapAccessor
-
public class BasicMapAccessor extends BasicCollectionAccessor
INTERNAL: A basic collection accessor. Key notes: - any metadata mapped from XML to this class must be compared in the equals method. - any metadata mapped from XML to this class must be handled in the merge method. (merging is done at the accessor/mapping level) - any metadata mapped from XML to this class must be initialized in the initXMLObject method. - methods should be preserved in alphabetical order.- Since:
- TopLink 11g
- Author:
- Guy Pelletier
-
-
Field Summary
-
Fields inherited from class org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.MappingAccessor
KEY_DOT_NOTATION, m_field, VALUE_DOT_NOTATION
-
Fields inherited from class org.eclipse.persistence.internal.jpa.metadata.ORMetadata
m_project
-
-
Constructor Summary
Constructors Constructor Description BasicMapAccessor()INTERNAL: Used for OX mapping.BasicMapAccessor(MetadataAnnotation basicMap, MetadataAccessibleObject accessibleObject, ClassAccessor classAccessor)INTERNAL:
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object objectToCompare)INTERNAL:protected ColumnMetadatagetColumn(String loggingCtx)INTERNAL:protected StringgetDefaultCollectionTableName()INTERNAL:ColumnMetadatagetKeyColumn()INTERNAL: Used for OX mapping.StringgetKeyConverter()INTERNAL: Used for OX mapping.MetadataClassgetReferenceClass()INTERNAL: Return the reference class for this accessor.StringgetValueConverter()INTERNAL: Used for OX mapping.inthashCode()booleanhasMapKey()INTERNAL: For all intent and purpose a basic map accessor always uses a map key.voidinitXMLObject(MetadataAccessibleObject accessibleObject, XMLEntityMappings entityMappings)INTERNAL:booleanisBasicMap()INTERNAL: Return true if this accessor represents a basic map mapping.voidprocess()INTERNAL: The processing of JPA converters for a basic map has been disabled, since we will not know which part of the map (key or value) to apply the JPA converter.voidsetKeyColumn(ColumnMetadata keyColumn)INTERNAL: Used for OX mapping.voidsetKeyConverter(String keyConverter)INTERNAL: Used for OX mapping.voidsetValueConverter(String valueConverter)INTERNAL: Used for OX mapping.-
Methods inherited from class org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.BasicCollectionAccessor
getReferenceClassWithGenerics, getValueColumn, isBasicCollection, processCollectionTable, setValueColumn
-
Methods inherited from class org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.DirectCollectionAccessor
getBatchFetch, getCascadeOnDelete, getCollectionTable, getDefaultFetchType, getJoinFetch, getNonCacheable, getPrivateOwned, getReferenceDatabaseTable, getReferenceDescriptor, hasMapKeyClass, isCascadeOnDelete, isDirectCollection, isNonCacheable, isValidDirectCollectionType, isValidDirectMapType, process, processBatchFetch, processDirectCollectionMapping, processDirectMapMapping, setBatchFetch, setCascadeOnDelete, setCollectionTable, setJoinFetch, setNonCacheable
-
Methods inherited from class org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.DirectAccessor
addConvert, getConvert, getConverts, getEnumerated, getEnumerated, getFetch, getLob, getLob, getOptional, getTemporal, getTemporal, hasEnumerated, hasLob, hasTemporal, isOptional, setConverts, setEnumerated, setFetch, setLob, setOptional, setTemporal, setTemporal, usesIndirection
-
Methods inherited from class org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.MappingAccessor
addConvertMetadata, addFieldNameTranslation, addMapKeyConvert, derivesId, getAnnotation, getAssociationOverrides, getAttributeName, getAttributeOverride, getAttributeOverrides, getAttributeType, getClassAccessor, getConverts, getDatabaseField, getDefaultTableForEntityMapKey, getField, getForeignKey, getGetMethodName, getJoinColumns, getJoinColumnsAndValidate, getMapKey, getMapKeyConverts, getMapKeyReferenceClass, getMapKeyReferenceClassName, getMapKeyReferenceClassWithGenerics, getMapping, getOwningDescriptor, getOwningDescriptors, getRawClass, getRawClassWithGenerics, getReferenceAccessors, getReferenceClassFromGeneric, getReferenceClassName, getSetMethodName, hasAttributeOverride, hasAttributeType, hasReturnInsert, hasReturnUpdate, initXMLMappingAccessor, isAnnotationPresent, isBasic, isCollectionAccessor, isDerivedIdClass, isDirectEmbeddableCollection, isEmbedded, isEmbeddedId, isEnumerated, isId, isJson, isLob, isManyToMany, isManyToOne, isMapAccessor, isMappedKeyMapAccessor, isMultitenantId, isOneToMany, isOneToOne, isPrimitiveWrapperClass, isProcessed, isRelationship, isSerialized, isTemporal, isTimeClass, isTransient, isUUID, isValidJsonType, isValidSerializedType, isVariableOneToOne, processAssociationOverride, processAssociationOverrides, processAttributeOverrides, processContainerPolicyAndIndirection, processConvert, processConverts, processDirectMapKeyClass, processEmbeddableMapKeyClass, processEntityMapKeyClass, processEnumerated, processForeignKeyRelationship, processIndirection, processJoinFetch, processJson, processLob, processMapKeyClass, processMappingConverter, processMappingKeyConverter, processMappingValueConverter, processProperties, processProperty, processReturnInsert, processReturnInsertAndUpdate, processReturnUpdate, processSerialized, processSerialized, processTemporal, processUUID, setAccessorMethods, setAttributeType, setClassAccessor, setField, setIndirectionPolicy, setMapping, setOverrideMapping, toString, updatePrimaryKeyField, usesFieldAccess, usesPropertyAccess, usesVirtualAccess
-
Methods inherited from class org.eclipse.persistence.internal.jpa.metadata.accessors.MetadataAccessor
getAccess, getAccessibleObject, getAccessMethods, getAnnotatedElement, getAnnotatedElementName, getAnnotation, getConverters, getDefaultAttributeName, getDescriptor, getDescriptorJavaClass, getHashPartitioning, getIdentifier, getJavaClass, getJavaClassName, getName, getObjectTypeConverters, getPartitioned, getPartitioning, getPinnedPartitioning, getProperties, getRangePartitioning, getReferencedField, getReferencedField, getReplicationPartitioning, getRoundRobinPartitioning, getSerializedConverters, getStructConverters, getTypeConverters, getUnionPartitioning, getUpperCaseShortJavaClassName, getValue, getValue, getValuePartitioning, hasAccess, hasAccessMethods, initAccess, initXMLAccessor, isAnnotationPresent, merge, processConverters, processCustomConverters, processObjectTypeConverters, processPartitioned, processPartitioning, processPrimaryKeyJoinColumns, processSerializedConverters, processStructConverters, processTable, processTypeConverters, setAccess, setAccessMethods, setConverters, setDescriptor, setHashPartitioning, setName, setObjectTypeConverters, setPartitioned, setPartitioning, setPinnedPartitioning, setProperties, setRangePartitioning, setReplicationPartitioning, setRoundRobinPartitioning, setSerializedConverters, setStructConverters, setTypeConverters, setUnionPartitioning, setValuePartitioning
-
Methods inherited from class org.eclipse.persistence.internal.jpa.metadata.ORMetadata
getAccessibleObjectName, getAnnotation, getBoxedType, getDatabaseTypeEnum, getEntityMappings, getFullyQualifiedClassName, getJavaClass, getJavaClassName, getLoader, getLocation, getLogger, getMetadataClass, getMetadataClass, getMetadataClass, getMetadataFactory, getName, getPrimitiveClassForName, getProject, getText, getXMLElement, hasIdentifier, hasText, initXMLClassName, initXMLObject, initXMLObjects, initXMLTextObject, loadedFromAnnotation, loadedFromEclipseLinkXML, loadedFromXML, mergeORObjectLists, mergeORObjects, mergeSimpleObjects, reloadEntity, reloadMappedSuperclass, setAccessibleObject, setEntityMappings, setFieldName, setFieldName, setProject, shouldOverride, valuesMatch, valuesMatch
-
-
-
-
Constructor Detail
-
BasicMapAccessor
public BasicMapAccessor()
INTERNAL: Used for OX mapping.
-
BasicMapAccessor
public BasicMapAccessor(MetadataAnnotation basicMap, MetadataAccessibleObject accessibleObject, ClassAccessor classAccessor)
INTERNAL:
-
-
Method Detail
-
equals
public boolean equals(Object objectToCompare)
INTERNAL:- Overrides:
equalsin classBasicCollectionAccessor
-
hashCode
public int hashCode()
- Overrides:
hashCodein classBasicCollectionAccessor
-
getColumn
protected ColumnMetadata getColumn(String loggingCtx)
INTERNAL:- Overrides:
getColumnin classBasicCollectionAccessor- See Also:
BasicAccessor,BasicCollectionAccessor,BasicMapAccessor,ElementCollectionAccessor,CollectionAccessor
-
getDefaultCollectionTableName
protected String getDefaultCollectionTableName()
INTERNAL:- Overrides:
getDefaultCollectionTableNamein classBasicCollectionAccessor
-
getKeyColumn
public ColumnMetadata getKeyColumn()
INTERNAL: Used for OX mapping.
-
getKeyConverter
public String getKeyConverter()
INTERNAL: Used for OX mapping.- Overrides:
getKeyConverterin classBasicCollectionAccessor
-
getReferenceClass
public MetadataClass getReferenceClass()
INTERNAL: Return the reference class for this accessor.- Overrides:
getReferenceClassin classBasicCollectionAccessor
-
getValueConverter
public String getValueConverter()
INTERNAL: Used for OX mapping.- Overrides:
getValueConverterin classDirectCollectionAccessor- See Also:
for override details. An EclipseLink BasicMapAccessor can specify a value converter within the BasicMap metadata. Otherwise for all other cases, BasicCollectionAccessor and ElementCollectionAccessor, the value converter is returned from a Convert metadata specification.
-
hasMapKey
public boolean hasMapKey()
INTERNAL: For all intent and purpose a basic map accessor always uses a map key. It is used to correctly set the indirection policy. This method is kinda overkill to make sure isMappedKeyMapAccessor returns false for BasicMapAccessors.- Overrides:
hasMapKeyin classMappingAccessor- See Also:
CollectionAccessor,ElementCollectionAccessor,BasicMapAccessor
-
initXMLObject
public void initXMLObject(MetadataAccessibleObject accessibleObject, XMLEntityMappings entityMappings)
INTERNAL:- Overrides:
initXMLObjectin classBasicCollectionAccessor
-
isBasicMap
public boolean isBasicMap()
INTERNAL: Return true if this accessor represents a basic map mapping.- Overrides:
isBasicMapin classMappingAccessor
-
process
public void process()
INTERNAL: The processing of JPA converters for a basic map has been disabled, since we will not know which part of the map (key or value) to apply the JPA converter. See isLob, isTemporal and isEnumerated calls for log warning details.- Overrides:
processin classBasicCollectionAccessor
-
setKeyColumn
public void setKeyColumn(ColumnMetadata keyColumn)
INTERNAL: Used for OX mapping.
-
setKeyConverter
public void setKeyConverter(String keyConverter)
INTERNAL: Used for OX mapping.
-
setValueConverter
public void setValueConverter(String valueConverter)
INTERNAL: Used for OX mapping.
-
-