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

public Class OneToManyAccessor

extends CollectionAccessor
Class Inheritance
Imports
java.util.List, .Map, org.eclipse.persistence.eis.mappings.EISOneToManyMapping, org.eclipse.persistence.exceptions.ValidationException, org.eclipse.persistence.internal.helper.DatabaseField, org.eclipse.persistence.internal.jpa.metadata.MetadataDescriptor, .MetadataLogger, org.eclipse.persistence.internal.jpa.metadata.accessors.classes.ClassAccessor, org.eclipse.persistence.internal.jpa.metadata.accessors.objects.MetadataAnnotatedElement, .MetadataAnnotation, org.eclipse.persistence.internal.jpa.metadata.columns.AssociationOverrideMetadata, .JoinColumnMetadata, org.eclipse.persistence.mappings.CollectionMapping, .DatabaseMapping, .EmbeddableMapping, .ManyToManyMapping, .OneToManyMapping, .OneToOneMapping, .UnidirectionalOneToManyMapping

INTERNAL: A OneToMany relationship accessor. A OneToMany annotation currently is not required to be on the accessible object, that is, a 1-M can default. 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
TopLink EJB 3.0 Reference Implementation

Constructor Summary

AccessConstructor and Description
public
OneToManyAccessor()

INTERNAL: Used for OX mapping.

public
OneToManyAccessor(MetadataAnnotation oneToMany, MetadataAnnotatedElement annotatedElement, ClassAccessor classAccessor)

INTERNAL:

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.CollectionAccessor.equals.

INTERNAL:
protected String
getLoggingContext()

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

INTERNAL: Return the logging context for this accessor.
public int
public boolean
public void
process()

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

INTERNAL: Process a OneToMany accessor into an EclipseLink OneToManyMapping.
protected void
processAssociationOverride(AssociationOverrideMetadata associationOverride, EmbeddableMapping embeddableMapping, MetadataDescriptor owningDescriptor)

Overrides org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.CollectionAccessor.processAssociationOverride.

INTERNAL: Process an association override for either an embedded object mapping, or a map mapping (element-collection, 1-M and M-M) containing an embeddable object as the value or key.
protected void
processManyToManyMapping()

INTERNAL: Process an many to many mapping for this accessor since a join table was specified.

protected void
processOneToManyMapping()

INTERNAL: Process an one to many mapping for this accessor.

protected void
processUnidirectionalOneToManyMapping()

INTERNAL: Process an unidirectional one to many mapping for this accessor since join columns were specified and no mapped by value.

protected void
processUnidirectionalOneToManyTargetForeignKeyRelationship(UnidirectionalOneToManyMapping mapping, List<JoinColumnMetadata> joinColumns, MetadataDescriptor owningDescriptor)

INTERNAL: Process the join column(s) metadata for the owning side of a unidirectional one to many mapping.

Inherited from org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.CollectionAccessor:
addAssociationOverrideaddAttributeOverrideaddMapKeyConvertgetColumngetDefaultFetchTypegetDeleteAllgetEnumeratedgetMapKeygetMapKeyAssociationOverridesgetMapKeyAttributeOverridesgetMapKeyClassgetMapKeyClassNamegetMapKeyClassWithGenericsgetMapKeyColumngetMapKeyConvertgetMapKeyConvertsgetMapKeyEnumeratedgetMapKeyForeignKeygetMapKeyJoinColumnsgetMapKeyTemporalgetOrderBygetOrderColumngetReferenceClassgetReferenceDatabaseTablegetTemporalhasEnumeratedhasMapKeyhasTemporalinitXMLObjectisCollectionAccessorisDeleteAllprocessprocessEISOneToManyMappingsetDeleteAllsetMapKeysetMapKeyAssociationOverridessetMapKeyAttributeOverridessetMapKeyClasssetMapKeyClassNamesetMapKeyColumnsetMapKeyConvertssetMapKeyEnumeratedsetMapKeyForeignKeysetMapKeyJoinColumnssetMapKeyTemporalsetOrderBysetOrderColumnsetTemporal

Constructor Detail

OneToManyAccessorback to summary
public OneToManyAccessor()

INTERNAL: Used for OX mapping.

OneToManyAccessorback to summary
public OneToManyAccessor(MetadataAnnotation oneToMany, MetadataAnnotatedElement annotatedElement, ClassAccessor classAccessor)

INTERNAL:

Method Detail

equalsback to summary
public boolean equals(Object objectToCompare)

Overrides org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.CollectionAccessor.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
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
hashCodeback to summary
public int hashCode()

Overrides org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.CollectionAccessor.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
isOneToManyback to summary
public boolean isOneToMany()

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

INTERNAL:

Annotations
@Override
processback to summary
public void process()

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

INTERNAL: Process a OneToMany accessor into an EclipseLink OneToManyMapping. If a JoinTable is found however, we must create a ManyToManyMapping.

Annotations
@Override
processAssociationOverrideback to summary
protected void processAssociationOverride(AssociationOverrideMetadata associationOverride, EmbeddableMapping embeddableMapping, MetadataDescriptor owningDescriptor)

Overrides org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.CollectionAccessor.processAssociationOverride.

INTERNAL: Process an association override for either an embedded object mapping, or a map mapping (element-collection, 1-M and M-M) containing an embeddable object as the value or key.

Annotations
@Override
processManyToManyMappingback to summary
protected void processManyToManyMapping()

INTERNAL: Process an many to many mapping for this accessor since a join table was specified.

processOneToManyMappingback to summary
protected void processOneToManyMapping()

INTERNAL: Process an one to many mapping for this accessor.

processUnidirectionalOneToManyMappingback to summary
protected void processUnidirectionalOneToManyMapping()

INTERNAL: Process an unidirectional one to many mapping for this accessor since join columns were specified and no mapped by value.

processUnidirectionalOneToManyTargetForeignKeyRelationshipback to summary
protected void processUnidirectionalOneToManyTargetForeignKeyRelationship(UnidirectionalOneToManyMapping mapping, List<JoinColumnMetadata> joinColumns, MetadataDescriptor owningDescriptor)

INTERNAL: Process the join column(s) metadata for the owning side of a unidirectional one to many mapping. The default pk used only with single primary key entities. The processor should never get as far as to use them with entities that have a composite primary key (validation exception will be thrown).