EclipseLink 2.4.2, build 'v20130514-5956486' API Reference

org.eclipse.persistence.jpa.jpql.spi
Interface IMapping

All Superinterfaces:
java.lang.Comparable<IMapping>
All Known Implementing Classes:
AbstractFieldMapping, AbstractMapping, AbstractMethodMapping, EclipseLinkFieldMapping, EclipseLinkPropertyMapping, FromSubqueryResolver.VirtualMapping, JavaFieldMapping, JavaPropertyMapping

public interface IMapping
extends java.lang.Comparable<IMapping>

The external representation of a mapping, which represents a single persistence property of a managed type.

Version:
2.4
See Also:
IManagedType
Author:
Pascal Filion
Since:
2.3

Method Summary
 int getMappingType()
          Returns the type of this mapping.
 java.lang.String getName()
          Returns the name of the persistence property represented by this mapping.
 IManagedType getParent()
          Returns the parent managed type owning this mapping.
 IType getType()
          Returns the type of this mapping.
 ITypeDeclaration getTypeDeclaration()
          Returns the declaration of the Java class, which gives the information about type parameters, dimensionality, etc.
 boolean hasAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
          Determines whether the given annotation is present on this type.
 boolean isCollection()
          Determines whether this IMapping is a collection type mapping.
 boolean isProperty()
          Determines whether this IMapping is a property type mapping.
 boolean isRelationship()
          Determines whether this IMapping is a relationship type mapping.
 boolean isTransient()
          Determines whether this IMapping is a transient mapping.
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Method Detail

getMappingType

int getMappingType()
Returns the type of this mapping.

Returns:
One of the supported mapping type, which is one of the constants defined in IMappingType when the provider only supports generic JPA

getName

java.lang.String getName()
Returns the name of the persistence property represented by this mapping.

Returns:
The name of this mapping

getParent

IManagedType getParent()
Returns the parent managed type owning this mapping.

Returns:
The parent of this mapping

getType

IType getType()
Returns the type of this mapping. If this mapping is a relationship mapping, the parameter type of the collection is returned.

@OneToMany
private Collection<Employee> employees;

"Employee" is the type. To retrieve Collection, getTypeDeclaration() needs to be used, its type will be Collection and it's generic type will be Employee.

Returns:
The external form representing the type of this mapping

getTypeDeclaration

ITypeDeclaration getTypeDeclaration()
Returns the declaration of the Java class, which gives the information about type parameters, dimensionality, etc.

@OneToMany
private Collection<Employee> employees;

"Collection<Employee>" is the type declaration.

Returns:
The external form of the class' type declaration

hasAnnotation

boolean hasAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationType)
Determines whether the given annotation is present on this type.

Parameters:
annotationType - The class of the annotation
Returns:
true if the annotation is defined on this type; false otherwise

isCollection

boolean isCollection()
Determines whether this IMapping is a collection type mapping.

Returns:
true if this IMapping is a collection mapping; false otherwise
Since:
2.4

isProperty

boolean isProperty()
Determines whether this IMapping is a property type mapping.

Returns:
true if this IMapping is a property mapping; false otherwise
Since:
2.4

isRelationship

boolean isRelationship()
Determines whether this IMapping is a relationship type mapping.

Returns:
true if this IMapping is a relationship mapping; false otherwise
Since:
2.4

isTransient

boolean isTransient()
Determines whether this IMapping is a transient mapping.

Returns:
true if this IMapping is a transient mapping; false otherwise
Since:
2.4

EclipseLink 2.4.2, build 'v20130514-5956486' API Reference