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

public Class VariableOneToOneAccessor

extends ObjectAccessor
Class Inheritance
Imports
java.util.ArrayList, .List, org.eclipse.persistence.internal.helper.DatabaseField, org.eclipse.persistence.internal.jpa.metadata.MetadataDescriptor, .MetadataLogger, org.eclipse.persistence.internal.jpa.metadata.accessors.classes.ClassAccessor, .EntityAccessor, .InterfaceAccessor, org.eclipse.persistence.internal.jpa.metadata.accessors.objects.MetadataAccessibleObject, .MetadataAnnotatedElement, .MetadataAnnotation, org.eclipse.persistence.internal.jpa.metadata.columns.DiscriminatorClassMetadata, .DiscriminatorColumnMetadata, .JoinColumnMetadata, org.eclipse.persistence.internal.jpa.metadata.xml.XMLEntityMappings, org.eclipse.persistence.mappings.VariableOneToOneMapping

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.
Author
Guy Pelletier
Since
EclipseLink 1.0

Field Summary

Modifier and TypeField and Description
public static final String
private List<DiscriminatorClassMetadata>
private DiscriminatorColumnMetadata
private Integer

Constructor Summary

AccessConstructor and Description
public
VariableOneToOneAccessor()

INTERNAL: Used for OX mapping.

public
VariableOneToOneAccessor(MetadataAnnotation variableOneToOne, MetadataAnnotatedElement annotatedElement, ClassAccessor classAccessor)

INTERNAL:

Method Summary

Modifier and TypeMethod and Description
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.

public boolean
equals(Object
the reference object with which to compare.
objectToCompare
)

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

INTERNAL:
public List<DiscriminatorClassMetadata>
getDiscriminatorClasses()

INTERNAL: Used for OX mapping.

public DiscriminatorColumnMetadata
getDiscriminatorColumn()

INTERNAL: Used for OX mapping.

protected String
getLoggingContext()

Implements abstract org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.RelationshipAccessor.getLoggingContext.

INTERNAL: Return the logging context for this accessor.
public MetadataDescriptor
getReferenceDescriptor()

Overrides org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.RelationshipAccessor.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.
public int
public void
public boolean
public void
process()

Overrides org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.RelationshipAccessor.process.

INTERNAL: Process a variable one to one setting into an EclipseLink VariableOneToOneMapping.
protected void
public void
setDiscriminatorClasses(List<DiscriminatorClassMetadata> discriminatorClasses)

INTERNAL: Used for OX mapping.

public void
setDiscriminatorColumn(DiscriminatorColumnMetadata discriminatorColumn)

INTERNAL: Used for OX mapping.

Inherited from org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.ObjectAccessor:
derivesIdgetAttributeTypegetDefaultFetchTypegetIdgetMapsIdgetOptionalgetPrimaryKeyForeignKeygetPrimaryKeyJoinColumnsgetReferenceClassgetSimplePKTypehasAttributeTypehasIdhasMapsIdinitManyToOneMappinginitOneToOneMappingisOneToOnePrimaryKeyRelationshipisOptionalprocessAssociationOverrideprocessAssociationOverrideprocessForeignKeyRelationshipprocessIdprocessMapsIdprocessMapsIdFieldsprocessOneToOnePrimaryKeyRelationshipprocessOwningMappingKeyssetIdsetMapsIdsetOptionalsetPrimaryKeyForeignKeysetPrimaryKeyJoinColumns

Field Detail

DEFAULT_QUERY_KEYback to summary
public static final String DEFAULT_QUERY_KEY
m_discriminatorClassesback to summary
private List<DiscriminatorClassMetadata> m_discriminatorClasses
m_discriminatorColumnback to summary
private DiscriminatorColumnMetadata m_discriminatorColumn
m_lastDiscriminatorIndexback to summary
private Integer m_lastDiscriminatorIndex

Constructor Detail

VariableOneToOneAccessorback to summary
public VariableOneToOneAccessor()

INTERNAL: Used for OX mapping.

VariableOneToOneAccessorback to summary
public VariableOneToOneAccessor(MetadataAnnotation variableOneToOne, MetadataAnnotatedElement annotatedElement, ClassAccessor classAccessor)

INTERNAL:

Method Detail

addDiscriminatorClassForback to summary
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.

equalsback to summary
public boolean equals(Object objectToCompare)

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

INTERNAL:

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
getDiscriminatorClassesback to summary
public List<DiscriminatorClassMetadata> getDiscriminatorClasses()

INTERNAL: Used for OX mapping.

getDiscriminatorColumnback to summary
public DiscriminatorColumnMetadata getDiscriminatorColumn()

INTERNAL: Used for OX mapping.

getLoggingContextback to summary
protected String getLoggingContext()

Implements abstract org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.RelationshipAccessor.getLoggingContext.

INTERNAL: Return the logging context for this accessor.

Annotations
@Override
getReferenceDescriptorback to summary
public MetadataDescriptor getReferenceDescriptor()

Overrides org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.RelationshipAccessor.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.

Annotations
@Override
hashCodeback to summary
public int hashCode()

Overrides org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.ObjectAccessor.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.ObjectAccessor.initXMLObject.

INTERNAL:

Annotations
@Override
isVariableOneToOneback to summary
public boolean isVariableOneToOne()

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

INTERNAL:

Annotations
@Override
processback to summary
public void process()

Overrides org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.RelationshipAccessor.process.

INTERNAL: Process a variable one to one setting into an EclipseLink VariableOneToOneMapping.

Annotations
@Override
processForeignQueryKeyNamesback to summary
protected void processForeignQueryKeyNames(VariableOneToOneMapping mapping)

INTERNAL:

setDiscriminatorClassesback to summary
public void setDiscriminatorClasses(List<DiscriminatorClassMetadata> discriminatorClasses)

INTERNAL: Used for OX mapping.

setDiscriminatorColumnback to summary
public void setDiscriminatorColumn(DiscriminatorColumnMetadata discriminatorColumn)

INTERNAL: Used for OX mapping.