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

public abstract Class ClassAccessor

extends MetadataAccessor
Class Inheritance
Known Direct Subclasses
org.eclipse.persistence.internal.jpa.metadata.accessors.classes.EmbeddableAccessor, org.eclipse.persistence.internal.jpa.metadata.accessors.classes.InterfaceAccessor, org.eclipse.persistence.internal.jpa.metadata.accessors.classes.MappedSuperclassAccessor
Annotations
@SuppressWarnings:deprecation
Imports
java.util.ArrayList, .Arrays, .HashSet, .List, org.eclipse.persistence.annotations.Array, .BasicCollection, .BasicMap, .ChangeTracking, .Customizer, .CopyPolicy, .ExcludeDefaultMappings, .InstantiationCopyPolicy, .CloneCopyPolicy, .Properties, .Property, .Struct, .Structure, .Transformation, .VariableOneToOne, org.eclipse.persistence.exceptions.ValidationException, org.eclipse.persistence.internal.helper.Helper, org.eclipse.persistence.internal.jpa.metadata.accessors.PropertyMetadata, .MetadataAccessor, org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.ElementCollectionAccessor, .EmbeddedIdAccessor, .DerivedIdClassAccessor, .ManyToManyAccessor, .ManyToOneAccessor, .BasicAccessor, .BasicCollectionAccessor, .BasicMapAccessor, .EmbeddedAccessor, .IdAccessor, .MappedKeyMapAccessor, .MappingAccessor, .OneToManyAccessor, .OneToOneAccessor, .TransformationAccessor, .VariableOneToOneAccessor, .VersionAccessor, .ObjectAccessor, org.eclipse.persistence.internal.jpa.metadata.accessors.objects.MetadataAccessibleObject, .MetadataAnnotatedElement, .MetadataAnnotation, .MetadataClass, .MetadataField, .MetadataMethod, org.eclipse.persistence.internal.jpa.metadata.structures.ArrayAccessor, .StructMetadata, .StructureAccessor, org.eclipse.persistence.internal.jpa.metadata.changetracking.ChangeTrackingMetadata, org.eclipse.persistence.internal.jpa.metadata.columns.AssociationOverrideMetadata, .AttributeOverrideMetadata, org.eclipse.persistence.internal.jpa.metadata.copypolicy.CopyPolicyMetadata, .CustomCopyPolicyMetadata, .InstantiationCopyPolicyMetadata, .CloneCopyPolicyMetadata, org.eclipse.persistence.internal.jpa.metadata.nosql.NoSqlMetadata, org.eclipse.persistence.internal.jpa.metadata.queries.OracleArrayTypeMetadata, .OracleObjectTypeMetadata, .PLSQLRecordMetadata, .PLSQLTableMetadata, org.eclipse.persistence.internal.jpa.metadata.xml.XMLEntityMappings, org.eclipse.persistence.internal.jpa.metadata.MetadataDescriptor, .MetadataLogger, .MetadataProject, .ORMetadata, org.eclipse.persistence.platform.database.oracle.annotations.OracleArray, .OracleArrays, .OracleObject, .OracleObjects, .PLSQLRecord, .PLSQLRecords, .PLSQLTable, .PLSQLTables

INTERNAL: A abstract class accessor. Holds common metadata for entities, embeddables and mapped superclasses. Key notes: - all metadata mapped from XML to this class must be compared in the equals method. - all metadata mapped from XML must be initialized in the initXMLObject method. - all 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

Field Summary

Modifier and TypeField and Description
private List<AssociationOverrideMetadata>
private List<AttributeOverrideMetadata>
private XMLAttributes
private ChangeTrackingMetadata
private String
private CloneCopyPolicyMetadata
private CustomCopyPolicyMetadata
private MetadataClass
private String
private String
private Boolean
private InstantiationCopyPolicyMetadata
private boolean
private boolean
private List<MappedSuperclassAccessor>
private Boolean
private NoSqlMetadata
private List<OracleArrayTypeMetadata>
private List<OracleObjectTypeMetadata>
private List<MetadataDescriptor>
private MetadataClass
private String
private List<PLSQLRecordMetadata>
private List<PLSQLTableMetadata>
private StructMetadata

Constructor Summary

AccessConstructor and Description
protected
ClassAccessor(String xmlElement)

INTERNAL:

public
protected
ClassAccessor(MetadataAnnotation annotation, MetadataClass cls, MetadataDescriptor descriptor)

INTERNAL: Called from MappedSuperclassAccessor.

Method Summary

Modifier and TypeMethod and Description
protected void
addAccessor(MappingAccessor accessor)

INTERNAL: Add the accessor to the descriptor

protected void
addAccessorFields(boolean processingInverse)

INTERNAL: Create mappings from the fields directly.

protected void
addAccessorMethods(boolean processingInverse)

INTERNAL: Create mappings via the class properties.

public void
addAccessors()

INTERNAL: Add the accessors from this class accessors java class to the descriptor tied to this class accessor.

protected void
addPotentialEmbeddableAccessor(MetadataClass potentialEmbeddableClass, ClassAccessor embeddingAccessor)

INTERNAL Add an embeddable class to the embeddable accessor list if it is indeed an embeddable.

protected void
addPotentialMappedSuperclass(MetadataClass metadataClass, boolean addMappedSuperclassAccessors)

INTERNAL: Add mapped superclass accessors to inheriting entities.

protected MappingAccessor
buildAccessor(MetadataAnnotatedElement accessibleObject)

INTERNAL: Create and return the appropriate accessor based on the accessible object given.

protected void
public void
clearPreProcessed()

INTERNAL: In some cases the pre-processing may need to be re-done.

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

Overrides org.eclipse.persistence.internal.jpa.metadata.accessors.MetadataAccessor.equals.

INTERNAL:
public boolean
excludeDefaultMappings()

INTERNAL: Return true if this class accessor has been set to metadata complete.

protected MetadataField
getAccessibleField(MappingAccessor accessor)

INTERNAL: Return the accessible field for the given mapping accessor.

protected MetadataMethod
getAccessibleMethod(MappingAccessor accessor)

INTERNAL: Return the accessible method for the given mapping accessor.

protected MetadataMethod
getAccessibleVirtualMethod(MappingAccessor accessor)

INTERNAL: This method should only be called when using virtual access and presumably for dynamic persistence.

public String
getAccessType()

INTERNAL: Return the access type of this accessor.

protected MetadataAnnotation
getAnnotation(String annotation)

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

INTERNAL: Return the annotation if it exists.
public List<AssociationOverrideMetadata>
getAssociationOverrides()

INTERNAL: Used for OX mapping.

public List<AttributeOverrideMetadata>
getAttributeOverrides()

INTERNAL: Used for OX mapping.

public XMLAttributes
getAttributes()

INTERNAL: Used for OX mapping.

public ChangeTrackingMetadata
getChangeTracking()

INTERNAL: Used for OX mapping.

public String
getClassName()

INTERNAL: Used for OX mapping.

public CloneCopyPolicyMetadata
getCloneCopyPolicy()

INTERNAL: Used for OX mapping

public CopyPolicyMetadata
getCopyPolicy()

INTERNAL:

public CustomCopyPolicyMetadata
getCustomCopyPolicy()

INTERNAL: Used for OX mapping

public MetadataClass
getCustomizerClass()

INTERNAL:

public String
getCustomizerClassName()

INTERNAL: Used for OX mapping.

public String
getDescription()

INTERNAL: Used for OX mapping.

public Boolean
getExcludeDefaultMappings()

INTERNAL: Used for OX mapping.

public String
getIdentifier()

Overrides org.eclipse.persistence.internal.jpa.metadata.accessors.MetadataAccessor.getIdentifier.

INTERNAL: To satisfy the abstract getIdentifier() method from ORMetadata.
public InstantiationCopyPolicyMetadata
getInstantiationCopyPolicy()

INTERNAL: Used for OX mapping

public MetadataClass
getJavaClass()

Overrides org.eclipse.persistence.internal.jpa.metadata.accessors.MetadataAccessor.getJavaClass.

INTERNAL: Return the java class that defines this accessor.
public String
getJavaClassName()

Overrides org.eclipse.persistence.internal.jpa.metadata.accessors.MetadataAccessor.getJavaClassName.

INTERNAL: Return the java class name that defines this accessor.
public List<MappedSuperclassAccessor>
getMappedSuperclasses()

INTERNAL: Return the mapped superclasses associated with this entity accessor.

public Boolean
getMetadataComplete()

INTERNAL: Used for OX mapping.

public NoSqlMetadata
getNoSql()

INTERNAL: Used for OX mapping.

public List<OracleArrayTypeMetadata>
getOracleArrayTypes()

Returns the list of OracleArrayType instances.

public List<OracleObjectTypeMetadata>
getOracleObjectTypes()

Returns the list of OracleObjectType instances.

public MetadataDescriptor
getOwningDescriptor()

INTERNAL: In most cases the owning descriptor is the descriptor associated with this class accessor.

public List<MetadataDescriptor>
getOwningDescriptors()

INTERNAL: In most cases the owning descriptors is the single descriptor associated with this class accessor.

protected MetadataClass
getParentClass()

INTERNAL:

public String
getParentClassName()

INTERNAL: Used for OX mapping.

public List<PLSQLRecordMetadata>
getPLSQLRecords()

INTERNAL: Used for OX mapping.

public List<PLSQLTableMetadata>
getPLSQLTables()

INTERNAL: Used for OX mapping.

public StructMetadata
getStruct()

INTERNAL: Used for OX mapping.

public boolean
hasDerivedId()

INTERNAL:

public int
protected boolean
hasParentClass()

INTERNAL:

public boolean
ignoreAnnotations()

INTERNAL: Return true if this class accessor has been set to metadata complete.

public void
initXMLClassAccessor(MetadataAccessibleObject accessibleObject, MetadataDescriptor descriptor, MetadataProject project, XMLEntityMappings entityMappings)

INTERNAL: This method should be subclassed in those methods that need to do extra initialization.

public void
public boolean
isAnnotationPresent(String annotation)

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

INTERNAL: Indicates whether the specified annotation is present on the annotated element for this accessor.
public boolean
isClassAccessor()

INTERNAL: Return true if this accessor represents a class.

public boolean
isEmbeddableAccessor()

INTERNAL: Return true if this accessor represents an embeddable class.

public boolean
isEntityAccessor()

INTERNAL: Return true if this accessor represents an entity class.

public boolean
isMappedSuperclass()

INTERNAL: Return whether this ClassAccessor is a MappedSuperclassAccessor

public boolean
isMetadataComplete()

INTERNAL:

public boolean
isPreProcessed()

INTERNAL: Return true if this accessor has been pre-processed.

public boolean
isProcessed()

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

INTERNAL: Return true if this accessor has been processed.
public void
merge(ORMetadata metadata)

Overrides org.eclipse.persistence.internal.jpa.metadata.accessors.MetadataAccessor.merge.

INTERNAL: Generic class level merging details for entities, mapped superclasses and embeddables.
public void
preProcess()

INTERNAL: The pre-process method is called during regular deployment and metadata processing.

public void
preProcessForCanonicalModel()

INTERNAL: The pre-process for canonical model method is called (and only called) during the canonical model generation.

protected void
preProcessMappedSuperclassMetadata(MappedSuperclassAccessor mappedSuperclass)

INTERNAL: Sub classes that support extending mapped superclasses should override this method to control what is pre-processed from a mapped superclass.

public void
process()

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

INTERNAL: This method should be overridden by all class accessors to process their specific class metadata first then call up to this method to process the common metadata.
protected abstract void
processAccessType()

INTERNAL:

protected void
processAssociationOverride(AssociationOverrideMetadata associationOverride)

INTERNAL: Process the association override metadata specified on an entity or mapped superclass.

protected void
processAssociationOverrides()

INTERNAL: Process the association override metadata specified on an entity or mapped superclass.

protected void
processAttributeOverride(AttributeOverrideMetadata attributeOverride)

INTERNAL: Process the attribute override metadata specified on an entity or mapped superclass.

protected void
processAttributeOverrides()

INTERNAL: Process the attribute override metadata specified on an entity or mapped superclass.

protected void
processChangeTracking()

INTERNAL: Process the change tracking setting for this accessor.

public void
processComplexMetadataTypes()

Process PL/SQL record and table types, Oracle object array and XMLType types.

protected void
processCopyPolicy()

INTERNAL:

protected void
processCustomizer()

INTERNAL:

public void
processDerivedId(HashSet<ClassAccessor> processing, HashSet<ClassAccessor> processed)

INTERNAL: Allows for processing derived ids, either from an Id or MapsId specification.

protected void
processMappedSuperclassMetadata(MappedSuperclassAccessor mappedSuperclass)

INTERNAL Sub classes that support extending mapped superclasses should override this method to control what is processed from a mapped superclass.

public void
processMappingAccessors()

INTERNAL: Process the accessors for the given class.

protected void
processNoSql()

INTERNAL: Check for and process a NoSql annotation and configure the correct descriptor type.

public void
processParentClass()

INTERNAL: If the user specified a parent class set it on the metadata class for this accessor.

protected void
processProperties()

INTERNAL: Adds properties to the descriptor.

protected void
processStruct()

Check for and process a Struct annotation and configure the correct descriptor type.

protected void
processVirtualClass()

INTERNAL: If this class accessor uses VIRTUAL access and is not accessible, add it to our list of virtual classes that will be dynamically created.

protected void
resolveGenericTypes(List<String> genericTypes, MetadataClass parent)

INTERNAL: This method resolves generic types.

public void
setAssociationOverrides(List<AssociationOverrideMetadata> associationOverrides)

INTERNAL: Used for OX mapping.

public void
setAttributeOverrides(List<AttributeOverrideMetadata> attributeOverrides)

INTERNAL: Used for OX mapping.

public void
setAttributes(XMLAttributes attributes)

INTERNAL: Used for OX mapping.

public void
setChangeTracking(ChangeTrackingMetadata changeTracking)

INTERNAL: Used for OX mapping.

public void
setClassName(String className)

INTERNAL: Used for OX mapping.

public void
setCloneCopyPolicy(CloneCopyPolicyMetadata copyPolicy)

INTERNAL: set the copy policy metadata

public void
setCustomCopyPolicy(CustomCopyPolicyMetadata copyPolicy)

INTERNAL: set the copy policy metadata

public void
setCustomizerClassName(String customizerClassName)

INTERNAL: Used for OX mapping.

public void
setDescription(String description)

INTERNAL: Used for OX mapping.

public void
setExcludeDefaultMappings(Boolean excludeDefaultMappings)

INTERNAL: Used for OX mapping.

public void
setInstantiationCopyPolicy(InstantiationCopyPolicyMetadata copyPolicy)

INTERNAL: set the copy policy metadata

protected void
setIsPreProcessed()

INTERNAL:

protected void
setIsProcessed()

INTERNAL:

public void
setJavaClass(MetadataClass cls)

INTERNAL: Set the java class for this accessor.

public void
setMetadataComplete(Boolean metadataComplete)

INTERNAL: Used for OX mapping.

public void
setNoSql(NoSqlMetadata noSql)

INTERNAL: Used for OX mapping.

public void
setOracleArrayTypes(List<OracleArrayTypeMetadata> oracleArrayTypes)

Sets the list of OracleArrayType instances.

public void
setOracleObjectTypes(List<OracleObjectTypeMetadata> oracleObjectTypes)

Sets the list of OracleObjectType instances.

protected void
setParentClass(MetadataClass parentClass)

INTERNAL:

public void
setParentClassName(String parentClassName)

INTERNAL: Used for OX mapping.

public void
setPLSQLRecords(List<PLSQLRecordMetadata> records)

INTERNAL: Used for OX mapping.

public void
setPLSQLTables(List<PLSQLTableMetadata> tables)

INTERNAL: Used for OX mapping.

public void
setStruct(StructMetadata struct)

INTERNAL: Used for OX mapping.

public String
toString()

Overrides java.lang.Object.toString.

INTERNAL:
public boolean
usesFieldAccess()

INTERNAL: Returns true if this class uses field access.

public boolean
usesPropertyAccess()

INTERNAL: Returns true if this class uses property access.

public boolean
usesVirtualAccess()

INTERNAL: Returns true if this class uses virtual access.

Inherited from org.eclipse.persistence.internal.jpa.metadata.accessors.MetadataAccessor:
getAccessgetAccessibleObjectgetAccessMethodsgetAnnotatedElementgetAnnotatedElementNamegetAnnotationgetAttributeNamegetConvertersgetDefaultAttributeNamegetDescriptorgetDescriptorJavaClassgetHashPartitioninggetNamegetObjectTypeConvertersgetPartitionedgetPartitioninggetPinnedPartitioninggetPropertiesgetRangePartitioninggetReferencedFieldgetReferencedFieldgetReplicationPartitioninggetRoundRobinPartitioninggetSerializedConvertersgetStructConvertersgetTypeConvertersgetUnionPartitioninggetUpperCaseShortJavaClassNamegetValuegetValuegetValuePartitioninghasAccesshasAccessMethodsinitAccessinitXMLAccessorisAnnotationPresentprocessConvertersprocessCustomConvertersprocessObjectTypeConvertersprocessPartitionedprocessPartitioningprocessPrimaryKeyJoinColumnsprocessSerializedConvertersprocessStructConvertersprocessTableprocessTypeConverterssetAccesssetAccessMethodssetConverterssetDescriptorsetHashPartitioningsetNamesetObjectTypeConverterssetPartitionedsetPartitioningsetPinnedPartitioningsetPropertiessetRangePartitioningsetReplicationPartitioningsetRoundRobinPartitioningsetSerializedConverterssetStructConverterssetTypeConverterssetUnionPartitioningsetValuePartitioning