Package org.apache.openjpa.jdbc.meta
Class MappingRepository
- java.lang.Object
-
- org.apache.openjpa.meta.MetaDataRepository
-
- org.apache.openjpa.jdbc.meta.MappingRepository
-
- All Implemented Interfaces:
java.io.Serializable
,PCRegistry.RegisterClassListener
,Configurable
,Closeable
,MetaDataModes
public class MappingRepository extends MetaDataRepository
Repository of object/relational mapping information.- Author:
- Abe White
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.apache.openjpa.meta.MetaDataRepository
_locking, _preload, _preloadComplete, EMPTY_CLASSES, EMPTY_FIELDS, EMPTY_METAS, EMPTY_NON_PERSISTENT, EMPTY_ORDERS, EMPTY_XMLMETAS, VALIDATE_MAPPING, VALIDATE_META, VALIDATE_NONE, VALIDATE_RUNTIME, VALIDATE_UNENHANCED
-
Fields inherited from interface org.apache.openjpa.meta.MetaDataModes
MODE_ALL, MODE_ANN_MAPPING, MODE_MAPPING, MODE_MAPPING_INIT, MODE_META, MODE_NONE, MODE_QUERY
-
-
Constructor Summary
Constructors Constructor Description MappingRepository()
Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description QueryResultMapping
addQueryResultMapping(java.lang.Class cls, java.lang.String name)
Add a query result mapping.void
clear()
Clear the cache of parsed metadata.protected ValueHandler
defaultHandler(ValueMapping val)
Determine the default handler to use for the given value.protected ValueHandler
defaultHandler(ValueMapping val, boolean adapting)
Determine the default handler to use for the given value.protected ClassStrategy
defaultStrategy(ClassMapping cls)
Determine the default strategy to use for the given class.protected ClassStrategy
defaultStrategy(ClassMapping cls, boolean adapting)
Determine the default strategy to use for the given class.protected DiscriminatorStrategy
defaultStrategy(Discriminator discrim)
Determine the default strategy to use for the given discriminator.protected DiscriminatorStrategy
defaultStrategy(Discriminator discrim, boolean adapting)
Determine the default strategy to use for the given discriminator.protected FieldStrategy
defaultStrategy(FieldMapping field, boolean installHandlers)
Determine the default strategy to use for the given field.protected FieldStrategy
defaultStrategy(FieldMapping field, boolean installHandlers, boolean adapting)
Determine the default strategy to use for the given field.protected VersionStrategy
defaultStrategy(Version version)
Determine the default strategy to use for the given version.protected VersionStrategy
defaultStrategy(Version version, boolean adapting)
Determine the default strategy to use for the given version.protected VersionStrategy
defaultStrategy(Version vers, FieldMapping vfield)
Return the default version strategy, given a version field.protected FieldStrategy
defaultTypeStrategy(FieldMapping field, boolean installHandlers, boolean adapting)
Return the built-in strategy for the field's type, or null if none.void
endConfiguration()
Invoked upon completion of bean property configuration for this object.protected ClassMapping
findBaseClassMapping(ClassMapping mapping)
Finds the base class mapping for the specified mapping.FieldMapping
getBi_1ToM_JoinTableField(FieldMapping field)
FieldMapping
getBi_MTo1_JoinTableField(FieldMapping field)
QueryResultMapping
getCachedQueryResultMapping(java.lang.Class cls, java.lang.String name)
Return the cached query result mapping with the given name, or null if none.DBDictionary
getDBDictionary()
Convenient access to dictionary for mappings.ClassMapping[]
getImplementorMappings(java.lang.Class<?> cls, java.lang.ClassLoader envLoader, boolean mustExist)
ClassMapping
getMapping(java.lang.Class<?> cls, java.lang.ClassLoader envLoader, boolean mustExist)
ClassMapping
getMapping(java.lang.Object oid, java.lang.ClassLoader envLoader, boolean mustExist)
MappingDefaults
getMappingDefaults()
Mapping defaults.ClassMapping[]
getMappings()
QueryResultMapping
getQueryResultMapping(java.lang.Class<?> cls, java.lang.String name, java.lang.ClassLoader loader, boolean mustExist)
Return the query result mapping for the given name.QueryResultMapping[]
getQueryResultMappings()
Return all cached query result mappings.SchemaGroup
getSchemaGroup()
Representation of the database schema.StrategyInstaller
getStrategyInstaller()
Installs mapping strategies on components.protected FieldStrategy
handlerCollectionStrategy(FieldMapping field, ValueHandler ehandler, boolean installHandlers)
Return the collection strategy for the given element handler, or null if none.protected FieldStrategy
handlerMapStrategy(FieldMapping field, ValueHandler khandler, ValueHandler vhandler, boolean krel, boolean vrel, boolean installHandlers)
Return the map strategy for the given key and value handlers / relations, or null if none.protected boolean
hasInheritanceStrategy(ClassMapping mapping)
Determines whether an inhertance strategy has been set on the specified mapping.boolean
hasJoinColumn(FieldMapping field)
boolean
hasJoinTable(FieldMapping field)
protected ClassStrategy
instantiateClassStrategy(java.lang.String name, ClassMapping cls)
Return the strategy for the given name.protected DiscriminatorStrategy
instantiateDiscriminatorStrategy(java.lang.String name, Discriminator discrim)
Instantiate the given discriminator strategy.protected VersionStrategy
instantiateVersionStrategy(java.lang.Class<?> strat, Version version, java.lang.String props)
Instantiate the given version strategy.protected VersionStrategy
instantiateVersionStrategy(java.lang.String name, Version version)
Instantiate the given version strategy.boolean
isBi1To1JT(FieldMapping field)
boolean
isBidirectional(FieldMapping field)
boolean
isBiMTo1JT(FieldMapping field)
boolean
isNonDefaultMappingAllowed()
boolean
isUni1To1JT(FieldMapping field)
boolean
isUni1ToMFK(FieldMapping field)
boolean
isUniMTo1JT(FieldMapping field)
protected ValueHandler
namedHandler(ValueMapping val)
Instantiate the given value's named handler, or return null if no named handler.protected ClassStrategy
namedStrategy(ClassMapping cls)
Instantiate the given class' named strategy, or return null if no named strategy.protected DiscriminatorStrategy
namedStrategy(Discriminator discrim)
Instantiate the given discriminator's named strategy, or return null if no named strategy.protected FieldStrategy
namedStrategy(FieldMapping field, boolean installHandlers)
Instantiate the given field's named strategy, or return null if no named strategy.protected VersionStrategy
namedStrategy(Version version)
Instantiate the given version's named strategy, or return null if no named strategy.protected ClassMetaData
newClassMetaData(java.lang.Class<?> type)
Create a new class metadata instance.protected ClassMetaData[]
newClassMetaDataArray(int length)
Create a new array of the proper class metadata subclass.protected Discriminator
newDiscriminator(ClassMapping cls)
Create discriminator metadata for the given class.protected ClassMetaData
newEmbeddedClassMetaData(ValueMetaData owner)
Create a new embedded class metadata instance.protected FieldMetaData
newFieldMetaData(java.lang.String name, java.lang.Class<?> type, ClassMetaData owner)
Create a new field metadata instance.protected FieldMetaData[]
newFieldMetaDataArray(int length)
Create a new array of the proper field metadata subclass.protected ClassMappingInfo
newMappingInfo(ClassMapping cls)
Create raw mapping info for the given instance.protected DiscriminatorMappingInfo
newMappingInfo(Discriminator disc)
Create raw mapping info for the given instance.protected FieldMappingInfo
newMappingInfo(FieldMapping fm)
Create raw mapping info for the given instance.protected ValueMappingInfo
newMappingInfo(ValueMapping vm)
Create raw mapping info for the given instance.protected VersionMappingInfo
newMappingInfo(Version version)
Create raw mapping info for the given instance.protected Order[]
newOrderArray(int size)
Create an array of orders of the given size.protected Order
newRelatedFieldOrder(FieldMetaData owner, FieldMetaData rel, boolean asc)
Order by a field of the related type.protected SequenceMetaData
newSequenceMetaData(java.lang.String name)
Create a new sequence metadata instance.protected ValueMetaData
newValueMetaData(FieldMetaData owner)
Create a new value metadata instance.protected Order
newValueOrder(FieldMetaData owner, boolean asc)
Order by the field value.protected Version
newVersion(ClassMapping cls)
Create version metadata for the given class.protected void
prepareMapping(ClassMetaData meta)
Prepare metadata for mapping resolution.boolean
removeQueryResultMapping(java.lang.Class cls, java.lang.String name)
Remove a query result mapping.boolean
removeQueryResultMapping(QueryResultMapping res)
Remove a query result mapping.protected void
setDefaultInheritanceStrategy(ClassMapping mapping)
If an inheritance strategy has not been set on this mapping, set it to the default (flat).void
setMappingDefaults(MappingDefaults defaults)
Mapping default.void
setSchemaGroup(SchemaGroup schema)
Representation of the database schema.void
setStrategyInstaller(StrategyInstaller installer)
Installs mapping strategies on components.-
Methods inherited from class org.apache.openjpa.meta.MetaDataRepository
addMetaData, addMetaData, addMetaData, addNonMappedInterface, addPersistenceAware, addQueryMetaData, addQueryMetaData, addSequenceMetaData, addSystemListener, addXMLClassMetaData, close, getAliasNames, getCachedMetaData, getCachedMetaData, getCachedQueryMetaData, getCachedQueryMetaData, getCachedSequenceMetaData, getCachedXMLMetaData, getClosestAliasName, getConfiguration, getImplementorMetaDatas, getLog, getMetaData, getMetaData, getMetaData, getMetaDataFactory, getMetaDatas, getMetaModel, getMetaModel, getNonMappedInterface, getNonMappedInterfaces, getOrderByField, getPersistenceAware, getPersistenceAwares, getPersistentTypeNames, getPreload, getQueryKey, getQueryMetaData, getQueryMetaDatas, getResolve, getSequenceMetaData, getSequenceMetaDatas, getSourceMode, getSystemListeners, getValidate, getXMLMetaData, is_systemListenersActivated, loadPersistentTypes, loadPersistentTypes, needsPreload, newOrder, newQueryMetaData, newXMLClassMetaData, newXMLClassMetaDataArray, newXMLFieldMetaData, preload, register, registerAlias, removeMetaData, removeMetaData, removeNonMappedInterface, removePersistenceAware, removeQueryMetaData, removeQueryMetaData, removeSequenceMetaData, removeSequenceMetaData, removeSystemListener, searchQueryMetaDataByName, setConfiguration, setMetaDataFactory, setMetaModel, setMetaModel, setPreload, setResolve, setResolve, setSourceMode, setSourceMode, setValidate, setValidate, skipMetadata, startConfiguration
-
-
-
-
Constructor Detail
-
MappingRepository
public MappingRepository()
Default constructor. Configure viaConfigurable
.
-
-
Method Detail
-
getDBDictionary
public DBDictionary getDBDictionary()
Convenient access to dictionary for mappings.
-
getMappingDefaults
public MappingDefaults getMappingDefaults()
Mapping defaults.
-
setMappingDefaults
public void setMappingDefaults(MappingDefaults defaults)
Mapping default.
-
getSchemaGroup
public SchemaGroup getSchemaGroup()
Representation of the database schema.
-
setSchemaGroup
public void setSchemaGroup(SchemaGroup schema)
Representation of the database schema.
-
getStrategyInstaller
public StrategyInstaller getStrategyInstaller()
Installs mapping strategies on components.
-
setStrategyInstaller
public void setStrategyInstaller(StrategyInstaller installer)
Installs mapping strategies on components.
-
getQueryResultMapping
public QueryResultMapping getQueryResultMapping(java.lang.Class<?> cls, java.lang.String name, java.lang.ClassLoader loader, boolean mustExist)
Return the query result mapping for the given name.
-
getQueryResultMappings
public QueryResultMapping[] getQueryResultMappings()
Return all cached query result mappings.
-
getCachedQueryResultMapping
public QueryResultMapping getCachedQueryResultMapping(java.lang.Class cls, java.lang.String name)
Return the cached query result mapping with the given name, or null if none.
-
addQueryResultMapping
public QueryResultMapping addQueryResultMapping(java.lang.Class cls, java.lang.String name)
Add a query result mapping.
-
removeQueryResultMapping
public boolean removeQueryResultMapping(QueryResultMapping res)
Remove a query result mapping.
-
removeQueryResultMapping
public boolean removeQueryResultMapping(java.lang.Class cls, java.lang.String name)
Remove a query result mapping.
-
getMapping
public ClassMapping getMapping(java.lang.Class<?> cls, java.lang.ClassLoader envLoader, boolean mustExist)
-
getMappings
public ClassMapping[] getMappings()
-
getMapping
public ClassMapping getMapping(java.lang.Object oid, java.lang.ClassLoader envLoader, boolean mustExist)
-
getImplementorMappings
public ClassMapping[] getImplementorMappings(java.lang.Class<?> cls, java.lang.ClassLoader envLoader, boolean mustExist)
-
clear
public void clear()
Description copied from class:MetaDataRepository
Clear the cache of parsed metadata. This method also clears the internalMetaDataFactory
's cache.- Overrides:
clear
in classMetaDataRepository
-
prepareMapping
protected void prepareMapping(ClassMetaData meta)
Description copied from class:MetaDataRepository
Prepare metadata for mapping resolution. This method might map parts of the metadata that don't rely on other classes being mapped, but that other classes might rely on during their own mapping (for example, primary key fields). By default, this method only callsClassMetaData.defineSuperclassFields(boolean)
.- Overrides:
prepareMapping
in classMetaDataRepository
-
newClassMetaData
protected ClassMetaData newClassMetaData(java.lang.Class<?> type)
Description copied from class:MetaDataRepository
Create a new class metadata instance.- Overrides:
newClassMetaData
in classMetaDataRepository
-
newClassMetaDataArray
protected ClassMetaData[] newClassMetaDataArray(int length)
Description copied from class:MetaDataRepository
Create a new array of the proper class metadata subclass.- Overrides:
newClassMetaDataArray
in classMetaDataRepository
-
newFieldMetaData
protected FieldMetaData newFieldMetaData(java.lang.String name, java.lang.Class<?> type, ClassMetaData owner)
Description copied from class:MetaDataRepository
Create a new field metadata instance.- Overrides:
newFieldMetaData
in classMetaDataRepository
-
newFieldMetaDataArray
protected FieldMetaData[] newFieldMetaDataArray(int length)
Description copied from class:MetaDataRepository
Create a new array of the proper field metadata subclass.- Overrides:
newFieldMetaDataArray
in classMetaDataRepository
-
newEmbeddedClassMetaData
protected ClassMetaData newEmbeddedClassMetaData(ValueMetaData owner)
Description copied from class:MetaDataRepository
Create a new embedded class metadata instance.- Overrides:
newEmbeddedClassMetaData
in classMetaDataRepository
-
newValueMetaData
protected ValueMetaData newValueMetaData(FieldMetaData owner)
Description copied from class:MetaDataRepository
Create a new value metadata instance.- Overrides:
newValueMetaData
in classMetaDataRepository
-
newSequenceMetaData
protected SequenceMetaData newSequenceMetaData(java.lang.String name)
Description copied from class:MetaDataRepository
Create a new sequence metadata instance.- Overrides:
newSequenceMetaData
in classMetaDataRepository
-
newValueOrder
protected Order newValueOrder(FieldMetaData owner, boolean asc)
Description copied from class:MetaDataRepository
Order by the field value.- Overrides:
newValueOrder
in classMetaDataRepository
-
newRelatedFieldOrder
protected Order newRelatedFieldOrder(FieldMetaData owner, FieldMetaData rel, boolean asc)
Description copied from class:MetaDataRepository
Order by a field of the related type.- Overrides:
newRelatedFieldOrder
in classMetaDataRepository
-
newOrderArray
protected Order[] newOrderArray(int size)
Description copied from class:MetaDataRepository
Create an array of orders of the given size.- Overrides:
newOrderArray
in classMetaDataRepository
-
newVersion
protected Version newVersion(ClassMapping cls)
Create version metadata for the given class.
-
newDiscriminator
protected Discriminator newDiscriminator(ClassMapping cls)
Create discriminator metadata for the given class.
-
newMappingInfo
protected ClassMappingInfo newMappingInfo(ClassMapping cls)
Create raw mapping info for the given instance.
-
newMappingInfo
protected FieldMappingInfo newMappingInfo(FieldMapping fm)
Create raw mapping info for the given instance.
-
newMappingInfo
protected ValueMappingInfo newMappingInfo(ValueMapping vm)
Create raw mapping info for the given instance.
-
newMappingInfo
protected VersionMappingInfo newMappingInfo(Version version)
Create raw mapping info for the given instance.
-
newMappingInfo
protected DiscriminatorMappingInfo newMappingInfo(Discriminator disc)
Create raw mapping info for the given instance.
-
namedStrategy
protected ClassStrategy namedStrategy(ClassMapping cls)
Instantiate the given class' named strategy, or return null if no named strategy.
-
instantiateClassStrategy
protected ClassStrategy instantiateClassStrategy(java.lang.String name, ClassMapping cls)
Return the strategy for the given name.
-
namedStrategy
protected FieldStrategy namedStrategy(FieldMapping field, boolean installHandlers)
Instantiate the given field's named strategy, or return null if no named strategy.
-
namedStrategy
protected DiscriminatorStrategy namedStrategy(Discriminator discrim)
Instantiate the given discriminator's named strategy, or return null if no named strategy.
-
instantiateDiscriminatorStrategy
protected DiscriminatorStrategy instantiateDiscriminatorStrategy(java.lang.String name, Discriminator discrim)
Instantiate the given discriminator strategy.
-
namedStrategy
protected VersionStrategy namedStrategy(Version version)
Instantiate the given version's named strategy, or return null if no named strategy.
-
instantiateVersionStrategy
protected VersionStrategy instantiateVersionStrategy(java.lang.String name, Version version)
Instantiate the given version strategy.
-
instantiateVersionStrategy
protected VersionStrategy instantiateVersionStrategy(java.lang.Class<?> strat, Version version, java.lang.String props)
Instantiate the given version strategy.
-
defaultStrategy
protected ClassStrategy defaultStrategy(ClassMapping cls)
Determine the default strategy to use for the given class. Does not take into account the current strategy, if any.
-
defaultStrategy
protected ClassStrategy defaultStrategy(ClassMapping cls, boolean adapting)
Determine the default strategy to use for the given class. Does not take into account the current strategy, if any.
-
defaultStrategy
protected FieldStrategy defaultStrategy(FieldMapping field, boolean installHandlers)
Determine the default strategy to use for the given field. Does not take into account the named or current strategy, if any. If a non-null strategy is returned, this method may as a side effect install value handlers on the field's value mappings.
-
defaultStrategy
protected FieldStrategy defaultStrategy(FieldMapping field, boolean installHandlers, boolean adapting)
Determine the default strategy to use for the given field. Does not take into account the named or current strategy, if any. If a non-null strategy is returned, this method may as a side effect install value handlers on the field's value mappings.
-
defaultTypeStrategy
protected FieldStrategy defaultTypeStrategy(FieldMapping field, boolean installHandlers, boolean adapting)
Return the built-in strategy for the field's type, or null if none.
-
handlerCollectionStrategy
protected FieldStrategy handlerCollectionStrategy(FieldMapping field, ValueHandler ehandler, boolean installHandlers)
Return the collection strategy for the given element handler, or null if none.
-
handlerMapStrategy
protected FieldStrategy handlerMapStrategy(FieldMapping field, ValueHandler khandler, ValueHandler vhandler, boolean krel, boolean vrel, boolean installHandlers)
Return the map strategy for the given key and value handlers / relations, or null if none.
-
isNonDefaultMappingAllowed
public boolean isNonDefaultMappingAllowed()
-
isUniMTo1JT
public boolean isUniMTo1JT(FieldMapping field)
-
isUni1To1JT
public boolean isUni1To1JT(FieldMapping field)
-
isBi1To1JT
public boolean isBi1To1JT(FieldMapping field)
-
isUni1ToMFK
public boolean isUni1ToMFK(FieldMapping field)
-
isBiMTo1JT
public boolean isBiMTo1JT(FieldMapping field)
-
getBi_1ToM_JoinTableField
public FieldMapping getBi_1ToM_JoinTableField(FieldMapping field)
-
getBi_MTo1_JoinTableField
public FieldMapping getBi_MTo1_JoinTableField(FieldMapping field)
-
hasJoinColumn
public boolean hasJoinColumn(FieldMapping field)
-
hasJoinTable
public boolean hasJoinTable(FieldMapping field)
-
isBidirectional
public boolean isBidirectional(FieldMapping field)
-
namedHandler
protected ValueHandler namedHandler(ValueMapping val)
Instantiate the given value's named handler, or return null if no named handler.
-
defaultHandler
protected ValueHandler defaultHandler(ValueMapping val)
Determine the default handler to use for the given value. Does not take into account the named handler, if any.
-
defaultHandler
protected ValueHandler defaultHandler(ValueMapping val, boolean adapting)
Determine the default handler to use for the given value. Does not take into account the named handler, if any.
-
defaultStrategy
protected DiscriminatorStrategy defaultStrategy(Discriminator discrim)
Determine the default strategy to use for the given discriminator. Does not take into account the current strategy, if any.
-
defaultStrategy
protected DiscriminatorStrategy defaultStrategy(Discriminator discrim, boolean adapting)
Determine the default strategy to use for the given discriminator. Does not take into account the current strategy, if any.
-
defaultStrategy
protected VersionStrategy defaultStrategy(Version version)
Determine the default strategy to use for the given version. Does not take into account the current strategy, if any.
-
defaultStrategy
protected VersionStrategy defaultStrategy(Version version, boolean adapting)
Determine the default strategy to use for the given version. Does not take into account the current strategy, if any.
-
defaultStrategy
protected VersionStrategy defaultStrategy(Version vers, FieldMapping vfield)
Return the default version strategy, given a version field.
-
endConfiguration
public void endConfiguration()
Description copied from interface:Configurable
Invoked upon completion of bean property configuration for this object.- Specified by:
endConfiguration
in interfaceConfigurable
- Overrides:
endConfiguration
in classMetaDataRepository
-
findBaseClassMapping
protected ClassMapping findBaseClassMapping(ClassMapping mapping)
Finds the base class mapping for the specified mapping. Loads all persistent types if necessary, since all persistent subclasses of this mapping may not have been resolved before this method is called.
-
setDefaultInheritanceStrategy
protected void setDefaultInheritanceStrategy(ClassMapping mapping)
If an inheritance strategy has not been set on this mapping, set it to the default (flat). This method should be called before strategies are created for the specified mapping.
-
hasInheritanceStrategy
protected boolean hasInheritanceStrategy(ClassMapping mapping)
Determines whether an inhertance strategy has been set on the specified mapping.
-
-