Top Description Fields Constructors Methods
org.eclipse.persistence.internal.jpa.metadata.structures

public Class StructureAccessor

extends MappingAccessor
Class Inheritance
Imports
org.eclipse.persistence.internal.helper.DatabaseField, org.eclipse.persistence.internal.jpa.metadata.MetadataLogger, org.eclipse.persistence.internal.jpa.metadata.accessors.classes.ClassAccessor, org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.MappingAccessor, org.eclipse.persistence.internal.jpa.metadata.accessors.objects.MetadataAccessibleObject, .MetadataAnnotation, .MetadataClass, org.eclipse.persistence.internal.jpa.metadata.columns.ColumnMetadata, org.eclipse.persistence.internal.jpa.metadata.xml.XMLEntityMappings, org.eclipse.persistence.mappings.structures.ObjectRelationalDatabaseField, .StructureMapping

Defines a StructureMapping metadata. 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 initialized in the initXMLObject method. - when loading from annotations, the constructor accepts the metadata accessor this metadata was loaded from. Used it to look up any 'companion' annotation needed for processing. - methods should be preserved in alphabetical order.
Author
James Sutherland
Since
EclipseLink 2.3

Field Summary

Modifier and TypeField and Description
private ColumnMetadata
private DatabaseField
private MetadataClass
private MetadataClass
private String
Inherited from org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.MappingAccessor:
KEY_DOT_NOTATIONVALUE_DOT_NOTATION

Constructor Summary

AccessConstructor and Description
public
StructureAccessor()

INTERNAL: Used for XML loading.

public
StructureAccessor(MetadataAnnotation embedded, MetadataAccessibleObject accessibleObject, ClassAccessor classAccessor)

INTERNAL: Used for annotation loading.

Method Summary

Modifier and TypeMethod and Description
public boolean
equals(Object
the reference object with which to compare.
objectToCompare
)

Overrides org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.MappingAccessor.equals.

INTERNAL: Used for xml merging.
public ColumnMetadata
getColumn()

INTERNAL: Used for OX mapping.

public MetadataClass
getReferenceClass()

Overrides org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.MappingAccessor.getReferenceClass.

INTERNAL: If a target class is specified in metadata, it will be set as the reference class, otherwise we will use the raw class.
protected MetadataClass
getTargetClass()

INTERNAL: Return the target class for this accessor.

protected String
getTargetClassName()

INTERNAL: Used for OX mapping.

public int
public void
public boolean
isEmbedded()

Overrides org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.MappingAccessor.isEmbedded.

INTERNAL: Must return true as an embedded is referenced and needs to be correctly initialized.
public void
process()

Implements abstract org.eclipse.persistence.internal.jpa.metadata.accessors.MetadataAccessor.process.

INTERNAL: Build and structure mapping and add it to the descriptor.
public void
setColumn(ColumnMetadata column)

INTERNAL: Used for OX mapping.

public void
setTargetClassName(String targetClassName)

INTERNAL: Used for OX mapping.

Inherited from org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.MappingAccessor:
addConvertaddConvertMetadataaddFieldNameTranslationaddMapKeyConvertderivesIdgetAnnotationgetAssociationOverridesgetAttributeNamegetAttributeOverridegetAttributeOverridesgetAttributeTypegetClassAccessorgetColumngetConvertsgetDatabaseFieldgetDefaultFetchTypegetDefaultTableForEntityMapKeygetEnumeratedgetFieldgetForeignKeygetGetMethodNamegetJoinColumnsgetJoinColumnsAndValidategetLobgetMapKeygetMapKeyConvertsgetMapKeyReferenceClassgetMapKeyReferenceClassNamegetMapKeyReferenceClassWithGenericsgetMappinggetOwningDescriptorgetOwningDescriptorsgetRawClassgetRawClassWithGenericsgetReferenceAccessorsgetReferenceClassFromGenericgetReferenceClassNamegetReferenceClassWithGenericsgetReferenceDatabaseTablegetReferenceDescriptorgetSetMethodNamegetTemporalhasAttributeOverridehasAttributeTypehasEnumeratedhasLobhasMapKeyhasReturnInserthasReturnUpdatehasTemporalinitXMLMappingAccessorisAnnotationPresentisBasicisBasicCollectionisBasicMapisCollectionAccessorisDerivedIdClassisDirectCollectionisDirectEmbeddableCollectionisEmbeddedIdisEnumeratedisIdisJsonisLobisManyToManyisManyToOneisMapAccessorisMappedKeyMapAccessorisMultitenantIdisOneToManyisOneToOneisPrimitiveWrapperClassisProcessedisRelationshipisSerializedisTemporalisTimeClassisTransientisUUIDisValidJsonTypeisValidSerializedTypeisVariableOneToOneprocessAssociationOverrideprocessAssociationOverridesprocessAttributeOverridesprocessContainerPolicyAndIndirectionprocessConvertprocessConvertsprocessDirectMapKeyClassprocessEmbeddableMapKeyClassprocessEntityMapKeyClassprocessEnumeratedprocessForeignKeyRelationshipprocessIndirectionprocessJoinFetchprocessJsonprocessLobprocessMapKeyClassprocessMappingConverterprocessMappingKeyConverterprocessMappingValueConverterprocessPropertiesprocessPropertyprocessReturnInsertprocessReturnInsertAndUpdateprocessReturnUpdateprocessSerializedprocessSerializedprocessTemporalprocessUUIDsetAccessorMethodssetAttributeTypesetClassAccessorsetFieldsetIndirectionPolicysetMappingsetOverrideMappingsetTemporaltoStringupdatePrimaryKeyFieldusesFieldAccessusesIndirectionusesPropertyAccessusesVirtualAccess

Field Detail

m_columnback to summary
private ColumnMetadata m_column
m_fieldback to summary
private DatabaseField m_field

Hides org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.MappingAccessor.m_field.

m_referenceClassback to summary
private MetadataClass m_referenceClass
m_targetClassback to summary
private MetadataClass m_targetClass
m_targetClassNameback to summary
private String m_targetClassName

Constructor Detail

StructureAccessorback to summary
public StructureAccessor()

INTERNAL: Used for XML loading.

StructureAccessorback to summary
public StructureAccessor(MetadataAnnotation embedded, MetadataAccessibleObject accessibleObject, ClassAccessor classAccessor)

INTERNAL: Used for annotation loading.

Method Detail

equalsback to summary
public boolean equals(Object objectToCompare)

Overrides org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.MappingAccessor.equals.

INTERNAL: Used for xml merging.

Parameters
objectToCompare:Object

Doc from java.lang.Object.equals.

the reference object with which to compare.

Returns:boolean

Doc from java.lang.Object.equals.

true if this object is the same as the obj argument; false otherwise.

Annotations
@Override
getColumnback to summary
public ColumnMetadata getColumn()

INTERNAL: Used for OX mapping.

getReferenceClassback to summary
public MetadataClass getReferenceClass()

Overrides org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.MappingAccessor.getReferenceClass.

INTERNAL: If a target class is specified in metadata, it will be set as the reference class, otherwise we will use the raw class.

Annotations
@Override
getTargetClassback to summary
protected MetadataClass getTargetClass()

INTERNAL: Return the target class for this accessor.

getTargetClassNameback to summary
protected String getTargetClassName()

INTERNAL: Used for OX mapping.

hashCodeback to summary
public int hashCode()

Overrides org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.MappingAccessor.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for the object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns:int

a hash code value for this object.

Annotations
@Override
initXMLObjectback to summary
public void initXMLObject(MetadataAccessibleObject accessibleObject, XMLEntityMappings entityMappings)

Overrides org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.MappingAccessor.initXMLObject.

INTERNAL:

Annotations
@Override
isEmbeddedback to summary
public boolean isEmbedded()

Overrides org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.MappingAccessor.isEmbedded.

INTERNAL: Must return true as an embedded is referenced and needs to be correctly initialized.

Annotations
@Override
processback to summary
public void process()

Implements abstract org.eclipse.persistence.internal.jpa.metadata.accessors.MetadataAccessor.process.

INTERNAL: Build and structure mapping and add it to the descriptor.

Annotations
@Override
setColumnback to summary
public void setColumn(ColumnMetadata column)

INTERNAL: Used for OX mapping.

setTargetClassNameback to summary
public void setTargetClassName(String targetClassName)

INTERNAL: Used for OX mapping.