Interface IMapping

  • All Superinterfaces:
    java.lang.Comparable<IMapping>
    All Known Implementing Classes:
    FromSubqueryResolver.VirtualMapping

    public interface IMapping
    extends java.lang.Comparable<IMapping>
    The external representation of a mapping, which represents a single persistence property of a managed type.

    Provisional API: This interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.

    Version:
    2.4
    See Also:
    IManagedType
    Author:
    Pascal Filion
    Since:
    2.3
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      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 isEmbeddable()
      Determines whether this IMapping is an embeddable 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
      • isEmbeddable

        boolean isEmbeddable()
        Determines whether this IMapping is an embeddable type mapping.
        Returns:
        true if this IMapping is an embeddable 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