Module org.eclipse.persistence.jpa
Class VariableOneToOneAccessor
- 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.RelationshipAccessor
-
- org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.ObjectAccessor
-
- org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.VariableOneToOneAccessor
-
public class VariableOneToOneAccessor extends ObjectAccessor
INTERNAL: A variable one to one relationship accessor. A VariableOneToOne annotation currently is not required to be defined on the accessible object, that is, a v1-1 can default if the raw class is an interface. 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:
- EclipseLink 1.0
- Author:
- Guy Pelletier
-
-
Field Summary
Fields Modifier and Type Field Description static StringDEFAULT_QUERY_KEY-
Fields inherited from class org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.RelationshipAccessor
m_referenceClass
-
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 VariableOneToOneAccessor()INTERNAL: Used for OX mapping.VariableOneToOneAccessor(MetadataAnnotation variableOneToOne, MetadataAnnotatedElement annotatedElement, ClassAccessor classAccessor)INTERNAL:
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddDiscriminatorClassFor(EntityAccessor accessor)INTERNAL: In stage 2 processing entities may be added to the discriminator class list for this variable one to one accessor if they were not explicitely added but define the interface associated with this accessors target interface.booleanequals(Object objectToCompare)INTERNAL:List<DiscriminatorClassMetadata>getDiscriminatorClasses()INTERNAL: Used for OX mapping.DiscriminatorColumnMetadatagetDiscriminatorColumn()INTERNAL: Used for OX mapping.protected StringgetLoggingContext()INTERNAL: Return the logging context for this accessor.MetadataDescriptorgetReferenceDescriptor()INTERNAL: In a variable one to one case, there is no knowledge of a reference descriptor and the join columns should be defaulted based on the owner of the variable one to one's descriptor.inthashCode()voidinitXMLObject(MetadataAccessibleObject accessibleObject, XMLEntityMappings entityMappings)INTERNAL:booleanisVariableOneToOne()INTERNAL:voidprocess()INTERNAL: Process a variable one to one setting into an EclipseLink VariableOneToOneMapping.protected voidprocessForeignQueryKeyNames(VariableOneToOneMapping mapping)INTERNAL:voidsetDiscriminatorClasses(List<DiscriminatorClassMetadata> discriminatorClasses)INTERNAL: Used for OX mapping.voidsetDiscriminatorColumn(DiscriminatorColumnMetadata discriminatorColumn)INTERNAL: Used for OX mapping.-
Methods inherited from class org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.ObjectAccessor
derivesId, getAttributeType, getDefaultFetchType, getId, getMapsId, getOptional, getPrimaryKeyForeignKey, getPrimaryKeyJoinColumns, getReferenceClass, getSimplePKType, hasAttributeType, hasId, hasMapsId, initManyToOneMapping, initOneToOneMapping, isOneToOnePrimaryKeyRelationship, isOptional, processAssociationOverride, processAssociationOverride, processForeignKeyRelationship, processId, processMapsId, processMapsIdFields, processOneToOnePrimaryKeyRelationship, processOwningMappingKeys, setId, setMapsId, setOptional, setPrimaryKeyForeignKey, setPrimaryKeyJoinColumns
-
Methods inherited from class org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.RelationshipAccessor
addJoinTableRelationKeyFields, getBatchFetch, getCascade, getCascadeOnDelete, getDefaultTableForEntityMapKey, getFetch, getForeignKey, getJoinColumns, getJoinFetch, getJoinFields, getJoinTable, getJoinTableMetadata, getMappedBy, getNonCacheable, getOrphanRemoval, getOwningMapping, getPrivateOwned, getTargetEntity, getTargetEntityName, hasJoinTable, hasMappedBy, isCascadeOnDelete, isLazy, isNonCacheable, isOrphanRemoval, isPrivateOwned, isValueHolderInterface, processBatchFetch, processCascadeTypes, processJoinTable, processMappedByRelationTable, processOrphanRemoval, processRelationshipMapping, setAccessorMethods, setBatchFetch, setCascade, setCascadeOnDelete, setFetch, setForeignKey, setJoinColumns, setJoinFetch, setJoinFields, setJoinTable, setMappedBy, setNonCacheable, setOrphanRemoval, setPrivateOwned, setTargetEntity, setTargetEntityName, usesIndirection
-
Methods inherited from class org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.MappingAccessor
addConvert, addConvertMetadata, addFieldNameTranslation, addMapKeyConvert, getAnnotation, getAssociationOverrides, getAttributeName, getAttributeOverride, getAttributeOverrides, getClassAccessor, getColumn, getConverts, getDatabaseField, getEnumerated, getField, getForeignKey, getGetMethodName, getJoinColumns, getJoinColumnsAndValidate, getLob, getMapKey, getMapKeyConverts, getMapKeyReferenceClass, getMapKeyReferenceClassName, getMapKeyReferenceClassWithGenerics, getMapping, getOwningDescriptor, getOwningDescriptors, getRawClass, getRawClassWithGenerics, getReferenceAccessors, getReferenceClassFromGeneric, getReferenceClassName, getReferenceClassWithGenerics, getReferenceDatabaseTable, getSetMethodName, getTemporal, hasAttributeOverride, hasEnumerated, hasLob, hasMapKey, hasReturnInsert, hasReturnUpdate, hasTemporal, initXMLMappingAccessor, isAnnotationPresent, isBasic, isBasicCollection, isBasicMap, isCollectionAccessor, isDerivedIdClass, isDirectCollection, isDirectEmbeddableCollection, isEmbedded, isEmbeddedId, isEnumerated, isId, isJson, isLob, isManyToMany, isManyToOne, isMapAccessor, isMappedKeyMapAccessor, isMultitenantId, isOneToMany, isOneToOne, isPrimitiveWrapperClass, isProcessed, isRelationship, isSerialized, isTemporal, isTimeClass, isTransient, isUUID, isValidJsonType, isValidSerializedType, 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, setAttributeType, setClassAccessor, setField, setIndirectionPolicy, setMapping, setOverrideMapping, setTemporal, 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
-
-
-
-
Field Detail
-
DEFAULT_QUERY_KEY
public static final String DEFAULT_QUERY_KEY
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
VariableOneToOneAccessor
public VariableOneToOneAccessor()
INTERNAL: Used for OX mapping.
-
VariableOneToOneAccessor
public VariableOneToOneAccessor(MetadataAnnotation variableOneToOne, MetadataAnnotatedElement annotatedElement, ClassAccessor classAccessor)
INTERNAL:
-
-
Method Detail
-
addDiscriminatorClassFor
public void addDiscriminatorClassFor(EntityAccessor accessor)
INTERNAL: In stage 2 processing entities may be added to the discriminator class list for this variable one to one accessor if they were not explicitely added but define the interface associated with this accessors target interface.
-
equals
public boolean equals(Object objectToCompare)
INTERNAL:- Overrides:
equalsin classObjectAccessor
-
hashCode
public int hashCode()
- Overrides:
hashCodein classObjectAccessor
-
getDiscriminatorClasses
public List<DiscriminatorClassMetadata> getDiscriminatorClasses()
INTERNAL: Used for OX mapping.
-
getDiscriminatorColumn
public DiscriminatorColumnMetadata getDiscriminatorColumn()
INTERNAL: Used for OX mapping.
-
getLoggingContext
protected String getLoggingContext()
INTERNAL: Return the logging context for this accessor.- Specified by:
getLoggingContextin classRelationshipAccessor
-
getReferenceDescriptor
public MetadataDescriptor getReferenceDescriptor()
INTERNAL: In a variable one to one case, there is no knowledge of a reference descriptor and the join columns should be defaulted based on the owner of the variable one to one's descriptor.- Overrides:
getReferenceDescriptorin classRelationshipAccessor
-
initXMLObject
public void initXMLObject(MetadataAccessibleObject accessibleObject, XMLEntityMappings entityMappings)
INTERNAL:- Overrides:
initXMLObjectin classObjectAccessor
-
isVariableOneToOne
public boolean isVariableOneToOne()
INTERNAL:- Overrides:
isVariableOneToOnein classMappingAccessor
-
process
public void process()
INTERNAL: Process a variable one to one setting into an EclipseLink VariableOneToOneMapping.- Overrides:
processin classRelationshipAccessor
-
processForeignQueryKeyNames
protected void processForeignQueryKeyNames(VariableOneToOneMapping mapping)
INTERNAL:
-
setDiscriminatorClasses
public void setDiscriminatorClasses(List<DiscriminatorClassMetadata> discriminatorClasses)
INTERNAL: Used for OX mapping.
-
setDiscriminatorColumn
public void setDiscriminatorColumn(DiscriminatorColumnMetadata discriminatorColumn)
INTERNAL: Used for OX mapping.
-
-