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

public Class ArrayAccessor

extends DirectAccessor
Class Inheritance
Imports
org.eclipse.persistence.exceptions.ValidationException, org.eclipse.persistence.internal.jpa.metadata.MetadataDescriptor, .MetadataLogger, org.eclipse.persistence.internal.jpa.metadata.accessors.classes.ClassAccessor, .EmbeddableAccessor, org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.DirectAccessor, 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.ArrayMapping, .ObjectArrayMapping, .ObjectRelationalDatabaseField

An array accessor. Used to support ArrayMapping and ObjectArrayMapping. 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 String
private MetadataClass
private MetadataClass
private String

Constructor Summary

AccessConstructor and Description
public
ArrayAccessor()

INTERNAL: Used for OX mapping.

public
ArrayAccessor(MetadataAnnotation array, MetadataAccessibleObject accessibleObject, ClassAccessor classAccessor)

INTERNAL: Used for annotations.

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

INTERNAL:
public ColumnMetadata
getColumn()

INTERNAL: Used for OX mapping.

protected ColumnMetadata
public String
getDatabaseType()

INTERNAL: Used for OX mapping.

public String
public EmbeddableAccessor
public MetadataClass
getReferenceClass()

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

If a targetClass is specified in metadata, it will be set as the reference class, otherwise we will look to extract one from generics.
public MetadataDescriptor
getReferenceDescriptor()

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

In an element collection case, when the collection is not an embeddable collection, there is no notion of a reference descriptor, therefore we return this accessors descriptor
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
isDirectEmbeddableCollection()

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

INTERNAL: Return true if this element collection contains embeddable objects.
public void
process()

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

INTERNAL: Process the ArrayMapping or ObjectArrayMapping.
public void
setColumn(ColumnMetadata column)

INTERNAL: Used for OX mapping.

public void
setDatabaseType(String databaseType)

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.DirectAccessor:
addConvertgetConvertgetConvertsgetEnumeratedgetEnumeratedgetFetchgetLobgetLobgetOptionalgetTemporalgetTemporalhasEnumeratedhasLobhasTemporalisOptionalsetConvertssetEnumeratedsetFetchsetLobsetOptionalsetTemporalsetTemporalusesIndirection

Field Detail

m_columnback to summary
private ColumnMetadata m_column
m_databaseTypeback to summary
private String m_databaseType
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

ArrayAccessorback to summary
public ArrayAccessor()

INTERNAL: Used for OX mapping.

ArrayAccessorback to summary
public ArrayAccessor(MetadataAnnotation array, MetadataAccessibleObject accessibleObject, ClassAccessor classAccessor)

INTERNAL: Used for annotations.

Method Detail

equalsback to summary
public boolean equals(Object objectToCompare)

Overrides org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.DirectAccessor.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
getColumnback to summary
public ColumnMetadata getColumn()

INTERNAL: Used for OX mapping.

getColumnback to summary
protected ColumnMetadata getColumn(String loggingCtx)

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

INTERNAL:

Annotations
@Override
getDatabaseTypeback to summary
public String getDatabaseType()

INTERNAL: Used for OX mapping.

getDefaultFetchTypeback to summary
public String getDefaultFetchType()

Implements abstract org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.DirectAccessor.getDefaultFetchType.

INTERNAL:

Annotations
@Override
getEmbeddableAccessorback to summary
public EmbeddableAccessor getEmbeddableAccessor()

INTERNAL:

getReferenceClassback to summary
public MetadataClass getReferenceClass()

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

If a targetClass is specified in metadata, it will be set as the reference class, otherwise we will look to extract one from generics.

MappedSuperclass descriptors return Void when their parameterized generic reference class is null

Annotations
@Override
getReferenceDescriptorback to summary
public MetadataDescriptor getReferenceDescriptor()

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

In an element collection case, when the collection is not an embeddable collection, there is no notion of a reference descriptor, therefore we return this accessors descriptor

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.DirectAccessor.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.DirectAccessor.initXMLObject.

INTERNAL:

Annotations
@Override
isDirectEmbeddableCollectionback to summary
public boolean isDirectEmbeddableCollection()

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

INTERNAL: Return true if this element collection contains embeddable objects.

Annotations
@Override
processback to summary
public void process()

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

INTERNAL: Process the ArrayMapping or ObjectArrayMapping.

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

INTERNAL: Used for OX mapping.

setDatabaseTypeback to summary
public void setDatabaseType(String databaseType)

INTERNAL: Used for OX mapping.

setTargetClassNameback to summary
public void setTargetClassName(String targetClassName)

INTERNAL: Used for OX mapping.