org.apache.openjpa.persistence.meta
Class MetamodelImpl

java.lang.Object
  extended by org.apache.openjpa.persistence.meta.MetamodelImpl
All Implemented Interfaces:
javax.persistence.metamodel.Metamodel, Resolver

public class MetamodelImpl
extends Object
implements javax.persistence.metamodel.Metamodel, Resolver

Adapts JPA Metamodel to OpenJPA meta-data repository.

Author:
Pinaki Poddar

Constructor Summary
MetamodelImpl(MetaDataRepository repos)
          Constructs a model with the current content of the supplied non-null repository.
 
Method Summary
 Class classForName(String name, String[] imports)
           
<X> javax.persistence.metamodel.EmbeddableType<X>
embeddable(Class<X> clazz)
          Return the metamodel embeddable type representing the embeddable class.
<X> javax.persistence.metamodel.EntityType<X>
entity(Class<X> clazz)
          Return the metamodel entity type representing the entity.
 AggregateListener getAggregateListener(String tag)
           
 OpenJPAConfiguration getConfiguration()
           
 Set<javax.persistence.metamodel.EmbeddableType<?>> getEmbeddables()
          Return the metamodel embeddable types.
 Set<javax.persistence.metamodel.EntityType<?>> getEntities()
          Return the metamodel entity types.
 FilterListener getFilterListener(String tag)
           
 Set<javax.persistence.metamodel.ManagedType<?>> getManagedTypes()
          Return the metamodel managed types.
static javax.persistence.metamodel.Type.PersistenceType getPersistenceType(ClassMetaData meta)
           
 QueryContext getQueryContext()
           
 MetaDataRepository getRepository()
           
<X> javax.persistence.metamodel.Type<X>
getType(Class<X> cls)
          Return the type representing the basic, entity, mapped superclass, or embeddable class.
<X> javax.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)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MetamodelImpl

public MetamodelImpl(MetaDataRepository repos)
Constructs a model with the current content of the supplied non-null repository.

Method Detail

getRepository

public MetaDataRepository getRepository()

embeddable

public <X> javax.persistence.metamodel.EmbeddableType<X> embeddable(Class<X> clazz)
Return the metamodel embeddable type representing the embeddable class.

Specified by:
embeddable in interface javax.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

public <X> javax.persistence.metamodel.EntityType<X> entity(Class<X> clazz)
Return the metamodel entity type representing the entity.

Specified by:
entity in interface javax.persistence.metamodel.Metamodel
Parameters:
cls - the type of the represented entity
Returns:
the metamodel entity type
Throws:
IllegalArgumentException - if not an entity

getEmbeddables

public Set<javax.persistence.metamodel.EmbeddableType<?>> getEmbeddables()
Return the metamodel embeddable types.

Specified by:
getEmbeddables in interface javax.persistence.metamodel.Metamodel
Returns:
the metamodel embeddable types

getEntities

public Set<javax.persistence.metamodel.EntityType<?>> getEntities()
Return the metamodel entity types.

Specified by:
getEntities in interface javax.persistence.metamodel.Metamodel
Returns:
the metamodel entity types

getManagedTypes

public Set<javax.persistence.metamodel.ManagedType<?>> getManagedTypes()
Return the metamodel managed types.

Specified by:
getManagedTypes in interface javax.persistence.metamodel.Metamodel
Returns:
the metamodel managed types

managedType

public <X> javax.persistence.metamodel.ManagedType<X> managedType(Class<X> clazz)
Return the metamodel managed type representing the entity, mapped superclass, or embeddable class.

Specified by:
managedType in interface javax.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

public <X> javax.persistence.metamodel.Type<X> getType(Class<X> cls)
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 javax.persistence.metamodel.Type.PersistenceType getPersistenceType(ClassMetaData meta)

unmodifiableSet

public <T> Set<T> unmodifiableSet(Collection<T> coll)

populate

public <X> void populate(AbstractManagedType<X> type)
Populate the static fields of the canonical type.


classForName

public Class classForName(String name,
                          String[] imports)
Specified by:
classForName in interface Resolver

getAggregateListener

public AggregateListener getAggregateListener(String tag)
Specified by:
getAggregateListener in interface Resolver

getConfiguration

public OpenJPAConfiguration getConfiguration()
Specified by:
getConfiguration in interface Resolver

getFilterListener

public FilterListener getFilterListener(String tag)
Specified by:
getFilterListener in interface Resolver

getQueryContext

public QueryContext getQueryContext()
Specified by:
getQueryContext in interface Resolver


Copyright © 2006-2010 Apache Software Foundation. All Rights Reserved.