Class MetamodelImpl
java.lang.Object
org.apache.openjpa.persistence.meta.MetamodelImpl
- All Implemented Interfaces:
jakarta.persistence.metamodel.Metamodel
,Resolver
public class MetamodelImpl
extends Object
implements jakarta.persistence.metamodel.Metamodel, Resolver
Adapts JPA Metamodel to OpenJPA meta-data repository.
- Author:
- Pinaki Poddar
-
Constructor Summary
ConstructorDescriptionMetamodelImpl
(MetaDataRepository repos) Constructs a model with the current content of the supplied non-null repository. -
Method Summary
Modifier and TypeMethodDescriptionclassForName
(String name, String[] imports) Resolve the type represented by the given class name.<X> jakarta.persistence.metamodel.EmbeddableType<X>
embeddable
(Class<X> clazz) Return the metamodel embeddable type representing the embeddable class.<X> jakarta.persistence.metamodel.EntityType<X>
Return the metamodel entity type representing the entity.<X> jakarta.persistence.metamodel.EntityType<X>
entityImpl
(Class<X> clazz) Return the function listener for the given tag, or null if none.Return the OpenJPA configuration.Set<jakarta.persistence.metamodel.EmbeddableType<?>>
Return the metamodel embeddable types.Set<jakarta.persistence.metamodel.EntityType<?>>
Return the metamodel entity types.getFilterListener
(String tag) Return the filter listener for the given tag, or null if none.Set<jakarta.persistence.metamodel.ManagedType<?>>
Return the metamodel managed types.static jakarta.persistence.metamodel.Type.PersistenceType
TheQueryContext
for which this resolver was created<X> jakarta.persistence.metamodel.Type<X>
Return the type representing the basic, entity, mapped superclass, or embeddable class.<X> jakarta.persistence.metamodel.ManagedType<X>
managedType
(Class<X> clazz) Return the metamodel managed type representing the entity, mapped superclass, or embeddable class.<X> void
populate
(AbstractManagedType<X> type) Populate the static fields of the canonical type.<T> Set<T>
unmodifiableSet
(Collection<T> coll)
-
Constructor Details
-
MetamodelImpl
Constructs a model with the current content of the supplied non-null repository.
-
-
Method Details
-
getRepository
-
embeddable
Return the metamodel embeddable type representing the embeddable class.- Specified by:
embeddable
in interfacejakarta.persistence.metamodel.Metamodel
- Parameters:
cls
- the type of the represented embeddable class- Returns:
- the metamodel embeddable type
- Throws:
IllegalArgumentException
- if not an embeddable class
-
entity
Return the metamodel entity type representing the entity.- Specified by:
entity
in interfacejakarta.persistence.metamodel.Metamodel
- Parameters:
cls
- the type of the represented entity- Returns:
- the metamodel entity type
- Throws:
IllegalArgumentException
- if not an entity
-
entityImpl
-
getEmbeddables
Return the metamodel embeddable types.- Specified by:
getEmbeddables
in interfacejakarta.persistence.metamodel.Metamodel
- Returns:
- the metamodel embeddable types
-
getEntities
Return the metamodel entity types.- Specified by:
getEntities
in interfacejakarta.persistence.metamodel.Metamodel
- Returns:
- the metamodel entity types
-
getManagedTypes
Return the metamodel managed types.- Specified by:
getManagedTypes
in interfacejakarta.persistence.metamodel.Metamodel
- Returns:
- the metamodel managed types
-
managedType
Return the metamodel managed type representing the entity, mapped superclass, or embeddable class.- Specified by:
managedType
in interfacejakarta.persistence.metamodel.Metamodel
- Parameters:
cls
- the type of the represented managed class- Returns:
- the metamodel managed type
- Throws:
IllegalArgumentException
- if not a managed class
-
getType
Return the type representing the basic, entity, mapped superclass, or embeddable class. This method differs from #type(Class) as it also creates a basic or pesudo type for the given class argument if not already available in this receiver.- Parameters:
cls
- the type of the represented managed class- Returns:
- the metamodel managed type
- Throws:
IllegalArgumentException
- if not a managed class
-
getPersistenceType
public static jakarta.persistence.metamodel.Type.PersistenceType getPersistenceType(ClassMetaData meta) -
unmodifiableSet
-
populate
Populate the static fields of the canonical type. -
classForName
Description copied from interface:Resolver
Resolve the type represented by the given class name. This will test the type against the namespace of the Query and the declared imports, and will properly handle primitives and java.lang types as well. Returns null if the name does not match a known type.- Specified by:
classForName
in interfaceResolver
-
getAggregateListener
Description copied from interface:Resolver
Return the function listener for the given tag, or null if none.- Specified by:
getAggregateListener
in interfaceResolver
-
getConfiguration
Description copied from interface:Resolver
Return the OpenJPA configuration.- Specified by:
getConfiguration
in interfaceResolver
-
getFilterListener
Description copied from interface:Resolver
Return the filter listener for the given tag, or null if none.- Specified by:
getFilterListener
in interfaceResolver
-
getQueryContext
Description copied from interface:Resolver
TheQueryContext
for which this resolver was created- Specified by:
getQueryContext
in interfaceResolver
-