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:
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 QueryResultMappingaddQueryResultMapping(Class cls, String name)Add a query result mapping.voidclear()Clear the cache of parsed metadata.protected ValueHandlerdefaultHandler(ValueMapping val)Determine the default handler to use for the given value.protected ValueHandlerdefaultHandler(ValueMapping val, boolean adapting)Determine the default handler to use for the given value.protected ClassStrategydefaultStrategy(ClassMapping cls)Determine the default strategy to use for the given class.protected ClassStrategydefaultStrategy(ClassMapping cls, boolean adapting)Determine the default strategy to use for the given class.protected DiscriminatorStrategydefaultStrategy(Discriminator discrim)Determine the default strategy to use for the given discriminator.protected DiscriminatorStrategydefaultStrategy(Discriminator discrim, boolean adapting)Determine the default strategy to use for the given discriminator.protected FieldStrategydefaultStrategy(FieldMapping field, boolean installHandlers)Determine the default strategy to use for the given field.protected FieldStrategydefaultStrategy(FieldMapping field, boolean installHandlers, boolean adapting)Determine the default strategy to use for the given field.protected VersionStrategydefaultStrategy(Version version)Determine the default strategy to use for the given version.protected VersionStrategydefaultStrategy(Version version, boolean adapting)Determine the default strategy to use for the given version.protected VersionStrategydefaultStrategy(Version vers, FieldMapping vfield)Return the default version strategy, given a version field.protected FieldStrategydefaultTypeStrategy(FieldMapping field, boolean installHandlers, boolean adapting)Return the built-in strategy for the field's type, or null if none.voidendConfiguration()Invoked upon completion of bean property configuration for this object.protected ClassMappingfindBaseClassMapping(ClassMapping mapping)Finds the base class mapping for the specified mapping.FieldMappinggetBi_1ToM_JoinTableField(FieldMapping field)FieldMappinggetBi_MTo1_JoinTableField(FieldMapping field)QueryResultMappinggetCachedQueryResultMapping(Class cls, String name)Return the cached query result mapping with the given name, or null if none.DBDictionarygetDBDictionary()Convenient access to dictionary for mappings.ClassMapping[]getImplementorMappings(Class<?> cls, ClassLoader envLoader, boolean mustExist)ClassMappinggetMapping(Class<?> cls, ClassLoader envLoader, boolean mustExist)ClassMappinggetMapping(Object oid, ClassLoader envLoader, boolean mustExist)MappingDefaultsgetMappingDefaults()Mapping defaults.ClassMapping[]getMappings()QueryResultMappinggetQueryResultMapping(Class<?> cls, String name, ClassLoader loader, boolean mustExist)Return the query result mapping for the given name.QueryResultMapping[]getQueryResultMappings()Return all cached query result mappings.SchemaGroupgetSchemaGroup()Representation of the database schema.StrategyInstallergetStrategyInstaller()Installs mapping strategies on components.protected FieldStrategyhandlerCollectionStrategy(FieldMapping field, ValueHandler ehandler, boolean installHandlers)Return the collection strategy for the given element handler, or null if none.protected FieldStrategyhandlerMapStrategy(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 booleanhasInheritanceStrategy(ClassMapping mapping)Determines whether an inhertance strategy has been set on the specified mapping.booleanhasJoinColumn(FieldMapping field)booleanhasJoinTable(FieldMapping field)protected ClassStrategyinstantiateClassStrategy(String name, ClassMapping cls)Return the strategy for the given name.protected DiscriminatorStrategyinstantiateDiscriminatorStrategy(String name, Discriminator discrim)Instantiate the given discriminator strategy.protected VersionStrategyinstantiateVersionStrategy(Class<?> strat, Version version, String props)Instantiate the given version strategy.protected VersionStrategyinstantiateVersionStrategy(String name, Version version)Instantiate the given version strategy.booleanisBi1To1JT(FieldMapping field)booleanisBidirectional(FieldMapping field)booleanisBiMTo1JT(FieldMapping field)booleanisNonDefaultMappingAllowed()booleanisUni1To1JT(FieldMapping field)booleanisUni1ToMFK(FieldMapping field)booleanisUniMTo1JT(FieldMapping field)protected ValueHandlernamedHandler(ValueMapping val)Instantiate the given value's named handler, or return null if no named handler.protected ClassStrategynamedStrategy(ClassMapping cls)Instantiate the given class' named strategy, or return null if no named strategy.protected DiscriminatorStrategynamedStrategy(Discriminator discrim)Instantiate the given discriminator's named strategy, or return null if no named strategy.protected FieldStrategynamedStrategy(FieldMapping field, boolean installHandlers)Instantiate the given field's named strategy, or return null if no named strategy.protected VersionStrategynamedStrategy(Version version)Instantiate the given version's named strategy, or return null if no named strategy.protected ClassMetaDatanewClassMetaData(Class<?> type)Create a new class metadata instance.protected ClassMetaData[]newClassMetaDataArray(int length)Create a new array of the proper class metadata subclass.protected DiscriminatornewDiscriminator(ClassMapping cls)Create discriminator metadata for the given class.protected ClassMetaDatanewEmbeddedClassMetaData(ValueMetaData owner)Create a new embedded class metadata instance.protected FieldMetaDatanewFieldMetaData(String name, 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 ClassMappingInfonewMappingInfo(ClassMapping cls)Create raw mapping info for the given instance.protected DiscriminatorMappingInfonewMappingInfo(Discriminator disc)Create raw mapping info for the given instance.protected FieldMappingInfonewMappingInfo(FieldMapping fm)Create raw mapping info for the given instance.protected ValueMappingInfonewMappingInfo(ValueMapping vm)Create raw mapping info for the given instance.protected VersionMappingInfonewMappingInfo(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 OrdernewRelatedFieldOrder(FieldMetaData owner, FieldMetaData rel, boolean asc)Order by a field of the related type.protected SequenceMetaDatanewSequenceMetaData(String name)Create a new sequence metadata instance.protected ValueMetaDatanewValueMetaData(FieldMetaData owner)Create a new value metadata instance.protected OrdernewValueOrder(FieldMetaData owner, boolean asc)Order by the field value.protected VersionnewVersion(ClassMapping cls)Create version metadata for the given class.protected voidprepareMapping(ClassMetaData meta)Prepare metadata for mapping resolution.booleanremoveQueryResultMapping(Class cls, String name)Remove a query result mapping.booleanremoveQueryResultMapping(QueryResultMapping res)Remove a query result mapping.protected voidsetDefaultInheritanceStrategy(ClassMapping mapping)If an inheritance strategy has not been set on this mapping, set it to the default (flat).voidsetMappingDefaults(MappingDefaults defaults)Mapping default.voidsetSchemaGroup(SchemaGroup schema)Representation of the database schema.voidsetStrategyInstaller(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(Class<?> cls, String name, 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(Class cls, String name)
Return the cached query result mapping with the given name, or null if none.
-
addQueryResultMapping
public QueryResultMapping addQueryResultMapping(Class cls, String name)
Add a query result mapping.
-
removeQueryResultMapping
public boolean removeQueryResultMapping(QueryResultMapping res)
Remove a query result mapping.
-
removeQueryResultMapping
public boolean removeQueryResultMapping(Class cls, String name)
Remove a query result mapping.
-
getMapping
public ClassMapping getMapping(Class<?> cls, ClassLoader envLoader, boolean mustExist)
-
getMappings
public ClassMapping[] getMappings()
-
getMapping
public ClassMapping getMapping(Object oid, ClassLoader envLoader, boolean mustExist)
-
getImplementorMappings
public ClassMapping[] getImplementorMappings(Class<?> cls, ClassLoader envLoader, boolean mustExist)
-
clear
public void clear()
Description copied from class:MetaDataRepositoryClear the cache of parsed metadata. This method also clears the internalMetaDataFactory's cache.- Overrides:
clearin classMetaDataRepository
-
prepareMapping
protected void prepareMapping(ClassMetaData meta)
Description copied from class:MetaDataRepositoryPrepare 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:
prepareMappingin classMetaDataRepository
-
newClassMetaData
protected ClassMetaData newClassMetaData(Class<?> type)
Description copied from class:MetaDataRepositoryCreate a new class metadata instance.- Overrides:
newClassMetaDatain classMetaDataRepository
-
newClassMetaDataArray
protected ClassMetaData[] newClassMetaDataArray(int length)
Description copied from class:MetaDataRepositoryCreate a new array of the proper class metadata subclass.- Overrides:
newClassMetaDataArrayin classMetaDataRepository
-
newFieldMetaData
protected FieldMetaData newFieldMetaData(String name, Class<?> type, ClassMetaData owner)
Description copied from class:MetaDataRepositoryCreate a new field metadata instance.- Overrides:
newFieldMetaDatain classMetaDataRepository
-
newFieldMetaDataArray
protected FieldMetaData[] newFieldMetaDataArray(int length)
Description copied from class:MetaDataRepositoryCreate a new array of the proper field metadata subclass.- Overrides:
newFieldMetaDataArrayin classMetaDataRepository
-
newEmbeddedClassMetaData
protected ClassMetaData newEmbeddedClassMetaData(ValueMetaData owner)
Description copied from class:MetaDataRepositoryCreate a new embedded class metadata instance.- Overrides:
newEmbeddedClassMetaDatain classMetaDataRepository
-
newValueMetaData
protected ValueMetaData newValueMetaData(FieldMetaData owner)
Description copied from class:MetaDataRepositoryCreate a new value metadata instance.- Overrides:
newValueMetaDatain classMetaDataRepository
-
newSequenceMetaData
protected SequenceMetaData newSequenceMetaData(String name)
Description copied from class:MetaDataRepositoryCreate a new sequence metadata instance.- Overrides:
newSequenceMetaDatain classMetaDataRepository
-
newValueOrder
protected Order newValueOrder(FieldMetaData owner, boolean asc)
Description copied from class:MetaDataRepositoryOrder by the field value.- Overrides:
newValueOrderin classMetaDataRepository
-
newRelatedFieldOrder
protected Order newRelatedFieldOrder(FieldMetaData owner, FieldMetaData rel, boolean asc)
Description copied from class:MetaDataRepositoryOrder by a field of the related type.- Overrides:
newRelatedFieldOrderin classMetaDataRepository
-
newOrderArray
protected Order[] newOrderArray(int size)
Description copied from class:MetaDataRepositoryCreate an array of orders of the given size.- Overrides:
newOrderArrayin 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(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(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(String name, Version version)
Instantiate the given version strategy.
-
instantiateVersionStrategy
protected VersionStrategy instantiateVersionStrategy(Class<?> strat, Version version, 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:ConfigurableInvoked upon completion of bean property configuration for this object.- Specified by:
endConfigurationin interfaceConfigurable- Overrides:
endConfigurationin 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.
-
-