org.hibernate.cfg
Interface Mappings

All Known Subinterfaces:
ExtendedMappings
All Known Implementing Classes:
AnnotationConfiguration.ExtendedMappingsImpl, Configuration.MappingsImpl

public interface Mappings

A collection of mappings from classes and collections to relational database tables. Represents a single <hibernate-mapping> element.

todo : the statement about this representing a single mapping element is simply not true if it was ever the case. this contract actually represents 3 scopes of information:

  1. bounded state : this is information which is indeed scoped by a single mapping
  2. unbounded state : this is information which is Configuration wide (think of metadata repository)
  3. transient state : state which changed at its own pace (naming strategy)

Author:
Gavin King, Steve Ebersole

Nested Class Summary
static class Mappings.PropertyReference
          Represents a property-ref mapping.
 
Method Summary
 void addAuxiliaryDatabaseObject(AuxiliaryDatabaseObject auxiliaryDatabaseObject)
          Add metadata pertaining to an auxilary database object to this repository.
 void addClass(PersistentClass persistentClass)
          Add entity mapping metadata.
 void addCollection(Collection collection)
          Add collection mapping metadata to this repository.
 void addColumnBinding(String logicalName, Column physicalColumn, Table table)
          Binds the given 'physicalColumn' to the give 'logicalName' within the given 'table'.
 Table addDenormalizedTable(String schema, String catalog, String name, boolean isAbstract, String subselect, Table includedTable)
          Adds a 'denormalized table' to this repository.
 void addFilterDefinition(FilterDefinition definition)
          Adds a filter definition to this repository.
 void addImport(String entityName, String rename)
          Adds an import (HQL entity rename) to the repository.
 void addMappedSuperclass(Class type, MappedSuperclass mappedSuperclass)
          add a new MappedSuperclass This should not be called if the MappedSuperclass already exists (it would be erased)
 void addPropertyReference(String referencedClass, String propertyName)
          Adds a property reference binding to this repository.
 void addQuery(String name, NamedQueryDefinition query)
          Adds metadata for a named query to this repository.
 void addResultSetMapping(ResultSetMappingDefinition sqlResultSetMapping)
          Adds the metadata for a named SQL result set mapping to this repository.
 void addSecondPass(SecondPass sp)
          Adds a second-pass to the end of the current queue.
 void addSecondPass(SecondPass sp, boolean onTopOfTheQueue)
          Adds a second pass.
 void addSQLQuery(String name, NamedSQLQueryDefinition query)
          Adds metadata for a named SQL query to this repository.
 Table addTable(String schema, String catalog, String name, String subselect, boolean isAbstract)
          Adds table metedata to this repository returning the created metadata instance.
 void addTableBinding(String schema, String catalog, String logicalName, String physicalName, Table denormalizedSuperTable)
          Adds a table binding to this repository.
 void addToExtendsQueue(ExtendsQueueEntry entry)
          Adds an entry to the extends queue queue.
 void addTypeDef(String typeName, String typeClass, Properties paramMap)
          Adds a type definition to this metadata repository.
 void addUniquePropertyReference(String referencedClass, String propertyName)
          Adds a property reference binding to this repository where said proeprty reference is marked as unique.
 FetchProfile findOrCreateFetchProfile(String name)
          Retrieves a fetch profile by either finding one currently in this repository matching the given name or by creating one (and adding it).
 String getCatalogName()
          Returns the currently bound default catalog name.
 PersistentClass getClass(String entityName)
          Retrieves the entity mapping metadata for the given entity name.
 Collection getCollection(String role)
          Retrieves the collection mapping metadata for the given collection role.
 Properties getConfigurationProperties()
          Retrieve the configuration properties currently in effect.
 String getDefaultAccess()
          Get the current default property access style.
 String getDefaultCascade()
          Get the current default cascade style.
 String getDefaultPackage()
          Get the currently bound default package name.
 FilterDefinition getFilterDefinition(String name)
          Retrieves a filter definition by name.
 Map getFilterDefinitions()
          Retrieves the copmplete map of filter definitions.
 DefaultIdentifierGeneratorFactory getIdentifierGeneratorFactory()
          Retrieve the IdentifierGeneratorFactory in effect for this mapping.
 String getLogicalColumnName(String physicalName, Table table)
          Find the logical column name against whcih the given physical column name was bound within the given table.
 String getLogicalTableName(Table table)
          Get the logical table name mapped for the given physical table.
 MappedSuperclass getMappedSuperclass(Class type)
          Get a MappedSuperclass or null if not mapped
 NamingStrategy getNamingStrategy()
          Get the current naming strategy.
 ObjectNameNormalizer getObjectNameNormalizer()
          Retrieve the database identifier normalizer for this context.
 String getPhysicalColumnName(String logicalName, Table table)
          Find the physical column name for the given logical column name within the given table.
 NamedQueryDefinition getQuery(String name)
          Get named query metadata by name.
 ResultSetMappingDefinition getResultSetMapping(String name)
          Get the metadata for a named SQL result set mapping.
 String getSchemaName()
          Returns the currently bound default schema name.
 NamedSQLQueryDefinition getSQLQuery(String name)
          Get named SQL query metadata.
 Table getTable(String schema, String catalog, String name)
          Returns the named table metadata.
 TypeDef getTypeDef(String typeName)
          Retrieve a type definition by name.
 boolean isAutoImport()
          Determine whether auto importing of entity names is currently enabled.
 boolean isDefaultLazy()
          Determine whether default laziness is currently enabled.
 Iterator iterateAuxliaryDatabaseObjects()
          Retrieves an iterator over the metadata pertaining to all auxilary database objects int this repository.
 ListIterator iterateAuxliaryDatabaseObjectsInReverse()
          Same as iterateAuxliaryDatabaseObjects() except that here the iterator is reversed.
 Iterator iterateClasses()
          Retrieves an iterator over the entity metadata present in this repository.
 Iterator iterateCollections()
          Returns an iterator over collection metadata.
 Iterator iterateTables()
          Returns an iterator over table metadata.
 PersistentClass locatePersistentClassByEntityName(String entityName)
          Retrieves the entity mapping metadata for the given entity name, potentially accounting for imports.
 void setAutoImport(boolean autoImport)
          Set whether to enable auto importing of entity names.
 void setCatalogName(String catalogName)
          Sets the currently bound default catalog name.
 void setDefaultAccess(String defaultAccess)
          Sets the current default property access style.
 void setDefaultCascade(String defaultCascade)
          Sets the current default cascade style.
 void setDefaultLazy(boolean defaultLazy)
          Set whether to enable default laziness.
 void setDefaultPackage(String defaultPackage)
          Set the current default package name.
 void setNamingStrategy(NamingStrategy namingStrategy)
          Set the current naming strategy.
 void setSchemaName(String schemaName)
          Sets the currently bound default schema name.
 

Method Detail

getNamingStrategy

NamingStrategy getNamingStrategy()
Get the current naming strategy.

Returns:
The current naming strategy.

setNamingStrategy

void setNamingStrategy(NamingStrategy namingStrategy)
Set the current naming strategy.

Parameters:
namingStrategy - The naming strategy to use.

getSchemaName

String getSchemaName()
Returns the currently bound default schema name.

Returns:
The currently bound schema name

setSchemaName

void setSchemaName(String schemaName)
Sets the currently bound default schema name.

Parameters:
schemaName - The schema name to bind as the current default.

getCatalogName

String getCatalogName()
Returns the currently bound default catalog name.

Returns:
The currently bound catalog name, or null if none.

setCatalogName

void setCatalogName(String catalogName)
Sets the currently bound default catalog name.

Parameters:
catalogName - The catalog name to use as the current default.

getDefaultPackage

String getDefaultPackage()
Get the currently bound default package name.

Returns:
The currently bound default package name

setDefaultPackage

void setDefaultPackage(String defaultPackage)
Set the current default package name.

Parameters:
defaultPackage - The package name to set as the current default.

isAutoImport

boolean isAutoImport()
Determine whether auto importing of entity names is currently enabled.

Returns:
True if currently enabled; false otherwise.

setAutoImport

void setAutoImport(boolean autoImport)
Set whether to enable auto importing of entity names.

Parameters:
autoImport - True to enable; false to diasable.
See Also:
addImport(java.lang.String, java.lang.String)

isDefaultLazy

boolean isDefaultLazy()
Determine whether default laziness is currently enabled.

Returns:
True if enabled, false otherwise.

setDefaultLazy

void setDefaultLazy(boolean defaultLazy)
Set whether to enable default laziness.

Parameters:
defaultLazy - True to enable, false to disable.

getDefaultCascade

String getDefaultCascade()
Get the current default cascade style.

Returns:
The current default cascade style.

setDefaultCascade

void setDefaultCascade(String defaultCascade)
Sets the current default cascade style. .

Parameters:
defaultCascade - The cascade style to set as the current default.

getDefaultAccess

String getDefaultAccess()
Get the current default property access style.

Returns:
The current default property access style.

setDefaultAccess

void setDefaultAccess(String defaultAccess)
Sets the current default property access style.

Parameters:
defaultAccess - The access style to use as the current default.

iterateClasses

Iterator iterateClasses()
Retrieves an iterator over the entity metadata present in this repository.

Returns:
Iterator over class metadata.

getClass

PersistentClass getClass(String entityName)
Retrieves the entity mapping metadata for the given entity name.

Parameters:
entityName - The entity name for which to retrieve the metadata.
Returns:
The entity mapping metadata, or null if none found matching given entity name.

locatePersistentClassByEntityName

PersistentClass locatePersistentClassByEntityName(String entityName)
Retrieves the entity mapping metadata for the given entity name, potentially accounting for imports.

Parameters:
entityName - The entity name for which to retrieve the metadata.
Returns:
The entity mapping metadata, or null if none found matching given entity name.

addClass

void addClass(PersistentClass persistentClass)
              throws DuplicateMappingException
Add entity mapping metadata.

Parameters:
persistentClass - The entity metadata
Throws:
DuplicateMappingException - Indicates there4 was already an extry corresponding to the given entity name.

addImport

void addImport(String entityName,
               String rename)
               throws DuplicateMappingException
Adds an import (HQL entity rename) to the repository.

Parameters:
entityName - The entity name being renamed.
rename - The rename
Throws:
DuplicateMappingException - If rename already is mapped to another entity name in this repository.

getCollection

Collection getCollection(String role)
Retrieves the collection mapping metadata for the given collection role.

Parameters:
role - The collection role for which to retrieve the metadata.
Returns:
The collection mapping metadata, or null if no matching collection role found.

iterateCollections

Iterator iterateCollections()
Returns an iterator over collection metadata.

Returns:
Iterator over collection metadata.

addCollection

void addCollection(Collection collection)
                   throws DuplicateMappingException
Add collection mapping metadata to this repository.

Parameters:
collection - The collection metadata
Throws:
DuplicateMappingException - Indicates there was already an entry corresponding to the given collection role

getTable

Table getTable(String schema,
               String catalog,
               String name)
Returns the named table metadata.

Parameters:
schema - The named schema in which the table belongs (or null).
catalog - The named catalog in which the table belongs (or null).
name - The table name
Returns:
The table metadata, or null.

iterateTables

Iterator iterateTables()
Returns an iterator over table metadata.

Returns:
Iterator over table metadata.

addTable

Table addTable(String schema,
               String catalog,
               String name,
               String subselect,
               boolean isAbstract)
Adds table metedata to this repository returning the created metadata instance.

Parameters:
schema - The named schema in which the table belongs (or null).
catalog - The named catalog in which the table belongs (or null).
name - The table name
subselect - A select statement wwich defines a logical table, much like a DB view.
isAbstract - Is the table abstract (i.e. not really existing in the DB)?
Returns:
The created table metadata, or the existing reference.

addDenormalizedTable

Table addDenormalizedTable(String schema,
                           String catalog,
                           String name,
                           boolean isAbstract,
                           String subselect,
                           Table includedTable)
                           throws DuplicateMappingException
Adds a 'denormalized table' to this repository.

Parameters:
schema - The named schema in which the table belongs (or null).
catalog - The named catalog in which the table belongs (or null).
name - The table name
isAbstract - Is the table abstract (i.e. not really existing in the DB)?
subselect - A select statement wwich defines a logical table, much like a DB view.
includedTable - ???
Returns:
The created table metadata.
Throws:
DuplicateMappingException - If such a table mapping already exists.

getQuery

NamedQueryDefinition getQuery(String name)
Get named query metadata by name.

Parameters:
name - The named query name
Returns:
The query metadata, or null.

addQuery

void addQuery(String name,
              NamedQueryDefinition query)
              throws DuplicateMappingException
Adds metadata for a named query to this repository.

Parameters:
name - The name
query - The metadata
Throws:
DuplicateMappingException - If a query already exists with that name.

getSQLQuery

NamedSQLQueryDefinition getSQLQuery(String name)
Get named SQL query metadata.

Parameters:
name - The named SQL query name.
Returns:
The meatdata, or null if none found.

addSQLQuery

void addSQLQuery(String name,
                 NamedSQLQueryDefinition query)
                 throws DuplicateMappingException
Adds metadata for a named SQL query to this repository.

Parameters:
name - The name
query - The metadata
Throws:
DuplicateMappingException - If a query already exists with that name.

getResultSetMapping

ResultSetMappingDefinition getResultSetMapping(String name)
Get the metadata for a named SQL result set mapping.

Parameters:
name - The mapping name.
Returns:
The SQL result set mapping metadat, or null if none found.

addResultSetMapping

void addResultSetMapping(ResultSetMappingDefinition sqlResultSetMapping)
                         throws DuplicateMappingException
Adds the metadata for a named SQL result set mapping to this repository.

Parameters:
sqlResultSetMapping - The metadata
Throws:
DuplicateMappingException - If metadata for another SQL result mapping was already found under the given name.

getTypeDef

TypeDef getTypeDef(String typeName)
Retrieve a type definition by name.

Parameters:
typeName - The name of the type definition to retrieve.
Returns:
The type definition, or null if none found.

addTypeDef

void addTypeDef(String typeName,
                String typeClass,
                Properties paramMap)
Adds a type definition to this metadata repository.

Parameters:
typeName - The type name.
typeClass - The class implementing the Type contract.
paramMap - Map of parameters to be used to configure the type after instantiation.

getFilterDefinitions

Map getFilterDefinitions()
Retrieves the copmplete map of filter definitions.

Returns:
The filter definition map.

getFilterDefinition

FilterDefinition getFilterDefinition(String name)
Retrieves a filter definition by name.

Parameters:
name - The name of the filter defintion to retrieve.
Returns:
The filter definition, or null.

addFilterDefinition

void addFilterDefinition(FilterDefinition definition)
Adds a filter definition to this repository.

Parameters:
definition - The filter definition to add.

findOrCreateFetchProfile

FetchProfile findOrCreateFetchProfile(String name)
Retrieves a fetch profile by either finding one currently in this repository matching the given name or by creating one (and adding it).

Parameters:
name - The name of the profile.
Returns:
The fetch profile metadata.

iterateAuxliaryDatabaseObjects

Iterator iterateAuxliaryDatabaseObjects()
Retrieves an iterator over the metadata pertaining to all auxilary database objects int this repository.

Returns:
Iterator over the auxilary database object metadata.

iterateAuxliaryDatabaseObjectsInReverse

ListIterator iterateAuxliaryDatabaseObjectsInReverse()
Same as iterateAuxliaryDatabaseObjects() except that here the iterator is reversed.

Returns:
The reversed iterator.

addAuxiliaryDatabaseObject

void addAuxiliaryDatabaseObject(AuxiliaryDatabaseObject auxiliaryDatabaseObject)
Add metadata pertaining to an auxilary database object to this repository.

Parameters:
auxiliaryDatabaseObject - The metadata.

getLogicalTableName

String getLogicalTableName(Table table)
                           throws MappingException
Get the logical table name mapped for the given physical table.

Parameters:
table - The table for which to determine the logical name.
Returns:
The logical name.
Throws:
MappingException - Indicates that no logical name was bound for the given physical table.

addTableBinding

void addTableBinding(String schema,
                     String catalog,
                     String logicalName,
                     String physicalName,
                     Table denormalizedSuperTable)
                     throws DuplicateMappingException
Adds a table binding to this repository.

Parameters:
schema - The schema in which the table belongs (may be null).
catalog - The catalog in which the table belongs (may be null).
logicalName - The logical table name.
physicalName - The physical table name.
denormalizedSuperTable - ???
Throws:
DuplicateMappingException - Indicates physical table was already bound to another logical name.

addColumnBinding

void addColumnBinding(String logicalName,
                      Column physicalColumn,
                      Table table)
                      throws DuplicateMappingException
Binds the given 'physicalColumn' to the give 'logicalName' within the given 'table'.

Parameters:
logicalName - The logical column name binding.
physicalColumn - The physical column metadata.
table - The table metadata.
Throws:
DuplicateMappingException - Indicates a duplicate binding for either the physical column name or the logical column name.

getPhysicalColumnName

String getPhysicalColumnName(String logicalName,
                             Table table)
                             throws MappingException
Find the physical column name for the given logical column name within the given table.

Parameters:
logicalName - The logical name binding.
table - The table metatdata.
Returns:
The physical column name.
Throws:
MappingException - Indicates that no such binding was found.

getLogicalColumnName

String getLogicalColumnName(String physicalName,
                            Table table)
                            throws MappingException
Find the logical column name against whcih the given physical column name was bound within the given table.

Parameters:
physicalName - The physical column name
table - The table metadata.
Returns:
The logical column name.
Throws:
MappingException - Indicates that no such binding was found.

addSecondPass

void addSecondPass(SecondPass sp)
Adds a second-pass to the end of the current queue.

Parameters:
sp - The second pass to add.

addSecondPass

void addSecondPass(SecondPass sp,
                   boolean onTopOfTheQueue)
Adds a second pass.

Parameters:
sp - The second pass to add.
onTopOfTheQueue - True to add to the beginning of the queue; false to add to the end.

addPropertyReference

void addPropertyReference(String referencedClass,
                          String propertyName)
Adds a property reference binding to this repository.

Parameters:
referencedClass - The referenced entity name.
propertyName - The referenced property name.

addUniquePropertyReference

void addUniquePropertyReference(String referencedClass,
                                String propertyName)
Adds a property reference binding to this repository where said proeprty reference is marked as unique.

Parameters:
referencedClass - The referenced entity name.
propertyName - The referenced property name.

addToExtendsQueue

void addToExtendsQueue(ExtendsQueueEntry entry)
Adds an entry to the extends queue queue.

Parameters:
entry - The entry to add.

getIdentifierGeneratorFactory

DefaultIdentifierGeneratorFactory getIdentifierGeneratorFactory()
Retrieve the IdentifierGeneratorFactory in effect for this mapping.

Returns:
The IdentifierGeneratorFactory

addMappedSuperclass

void addMappedSuperclass(Class type,
                         MappedSuperclass mappedSuperclass)
add a new MappedSuperclass This should not be called if the MappedSuperclass already exists (it would be erased)

Parameters:
type - type corresponding to the Mappedsuperclass
mappedSuperclass - MappedSuperclass

getMappedSuperclass

MappedSuperclass getMappedSuperclass(Class type)
Get a MappedSuperclass or null if not mapped

Parameters:
type - class corresponding to the MappedSuperclass
Returns:
the MappedSuperclass

getObjectNameNormalizer

ObjectNameNormalizer getObjectNameNormalizer()
Retrieve the database identifier normalizer for this context.

Returns:
The normalizer.

getConfigurationProperties

Properties getConfigurationProperties()
Retrieve the configuration properties currently in effect.

Returns:
The configuration properties


Copyright © 2001-2010 Red Hat, Inc. All Rights Reserved.