org.hibernate.cfg
Class HbmBinder

java.lang.Object
  extended by org.hibernate.cfg.HbmBinder

public final class HbmBinder
extends Object

Walks an XML mapping document and produces the Hibernate configuration-time metamodel (the classes in the mapping package)

Author:
Gavin King

Method Summary
static void bindAny(org.dom4j.Element node, Any any, boolean isNullable, Mappings mappings)
           
static void bindArray(org.dom4j.Element node, Array array, String prefix, String path, Mappings mappings, Map inheritedMetas)
          Called for arrays and primitive arrays
static void bindClass(org.dom4j.Element node, PersistentClass persistentClass, Mappings mappings, Map inheritedMetas)
           
static void bindCollection(org.dom4j.Element node, Collection collection, String className, String path, Mappings mappings, Map inheritedMetas)
          Called for all collections
static void bindCollectionSecondPass(org.dom4j.Element node, Collection collection, Map persistentClasses, Mappings mappings, Map inheritedMetas)
          Called for all collections
static void bindColumn(org.dom4j.Element node, Column column, boolean isNullable)
           
static void bindColumns(org.dom4j.Element node, SimpleValue simpleValue, boolean isNullable, boolean autoColumn, String propertyPath, Mappings mappings)
           
static void bindComponent(org.dom4j.Element node, Component component, String ownerClassName, String parentProperty, String path, boolean isNullable, boolean isEmbedded, Mappings mappings, Map inheritedMetas, boolean isIdentifierMapper)
           
static void bindComposite(org.dom4j.Element node, Component component, String path, boolean isNullable, Mappings mappings, Map inheritedMetas)
           
static void bindCompositeId(org.dom4j.Element node, Component component, PersistentClass persistentClass, String propertyName, Mappings mappings, Map inheritedMetas)
           
static void bindIdentifierCollectionSecondPass(org.dom4j.Element node, IdentifierCollection collection, Map persistentClasses, Mappings mappings, Map inheritedMetas)
           
static void bindJoinedSubclass(org.dom4j.Element node, JoinedSubclass joinedSubclass, Mappings mappings, Map inheritedMetas)
           
static void bindListSecondPass(org.dom4j.Element node, List list, Map classes, Mappings mappings, Map inheritedMetas)
          Called for Lists, arrays, primitive arrays
static void bindManyToOne(org.dom4j.Element node, ManyToOne manyToOne, String path, boolean isNullable, Mappings mappings)
           
static void bindMapSecondPass(org.dom4j.Element node, Map map, Map classes, Mappings mappings, Map inheritedMetas)
          Called for Maps
static void bindOneToMany(org.dom4j.Element node, OneToMany oneToMany, Mappings mappings)
           
static void bindOneToOne(org.dom4j.Element node, OneToOne oneToOne, String path, boolean isNullable, Mappings mappings)
           
static void bindProperty(org.dom4j.Element node, Property property, Mappings mappings, Map inheritedMetas)
           
static void bindRoot(org.dom4j.Document doc, Mappings mappings, Map inheritedMetas)
          The main contract into the hbm.xml-based binder.
static void bindRootClass(org.dom4j.Element node, RootClass rootClass, Mappings mappings, Map inheritedMetas)
          Responsible for perfoming the bind operation related to an <class/> mapping element.
static void bindSimpleValue(org.dom4j.Element node, SimpleValue simpleValue, boolean isNullable, String path, Mappings mappings)
           
static void bindSubclass(org.dom4j.Element node, Subclass subclass, Mappings mappings, Map inheritedMetas)
           
static void bindUnionSubclass(org.dom4j.Element node, UnionSubclass unionSubclass, Mappings mappings, Map inheritedMetas)
           
protected static void createClassProperties(org.dom4j.Element node, PersistentClass persistentClass, Mappings mappings, Map inheritedMetas)
           
protected static void createClassProperties(org.dom4j.Element node, PersistentClass persistentClass, Mappings mappings, Map inheritedMetas, UniqueKey uniqueKey, boolean mutable, boolean nullable, boolean naturalId)
           
static CacheMode getCacheMode(String cacheMode)
           
static String getClassName(String unqualifiedName, Mappings model)
           
static String getClassName(String unqualifiedName, String defaultPackage)
           
static String getEntityName(org.dom4j.Element elem, Mappings model)
           
static List getExtendsNeeded(org.dom4j.Document doc, Mappings mappings)
          For the given document, locate all extends attributes which refer to entities (entity-name or class-name) not defined within said document.
static FlushMode getFlushMode(String flushMode)
           
static Map getMetas(org.dom4j.Element node, Map inheritedMeta, boolean onlyInheritable)
           
static Map getParameterTypes(org.dom4j.Element queryElem)
           
static String getTypeFromXML(org.dom4j.Element node)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

bindRoot

public static void bindRoot(org.dom4j.Document doc,
                            Mappings mappings,
                            Map inheritedMetas)
                     throws MappingException
The main contract into the hbm.xml-based binder. Performs necessary binding operations represented by the given DOM.

Parameters:
doc - The DOM to be parsed and bound.
mappings - Current bind state.
inheritedMetas - Any inherited meta-tag information.
Throws:
MappingException

bindRootClass

public static void bindRootClass(org.dom4j.Element node,
                                 RootClass rootClass,
                                 Mappings mappings,
                                 Map inheritedMetas)
                          throws MappingException
Responsible for perfoming the bind operation related to an <class/> mapping element.

Parameters:
node - The DOM Element for the <class/> element.
rootClass - The mapping instance to which to bind the information.
mappings - The current bind state.
inheritedMetas - Any inherited meta-tag information.
Throws:
MappingException

bindClass

public static void bindClass(org.dom4j.Element node,
                             PersistentClass persistentClass,
                             Mappings mappings,
                             Map inheritedMetas)
                      throws MappingException
Throws:
MappingException

bindUnionSubclass

public static void bindUnionSubclass(org.dom4j.Element node,
                                     UnionSubclass unionSubclass,
                                     Mappings mappings,
                                     Map inheritedMetas)
                              throws MappingException
Throws:
MappingException

bindSubclass

public static void bindSubclass(org.dom4j.Element node,
                                Subclass subclass,
                                Mappings mappings,
                                Map inheritedMetas)
                         throws MappingException
Throws:
MappingException

bindJoinedSubclass

public static void bindJoinedSubclass(org.dom4j.Element node,
                                      JoinedSubclass joinedSubclass,
                                      Mappings mappings,
                                      Map inheritedMetas)
                               throws MappingException
Throws:
MappingException

bindColumns

public static void bindColumns(org.dom4j.Element node,
                               SimpleValue simpleValue,
                               boolean isNullable,
                               boolean autoColumn,
                               String propertyPath,
                               Mappings mappings)
                        throws MappingException
Throws:
MappingException

bindSimpleValue

public static void bindSimpleValue(org.dom4j.Element node,
                                   SimpleValue simpleValue,
                                   boolean isNullable,
                                   String path,
                                   Mappings mappings)
                            throws MappingException
Throws:
MappingException

bindProperty

public static void bindProperty(org.dom4j.Element node,
                                Property property,
                                Mappings mappings,
                                Map inheritedMetas)
                         throws MappingException
Throws:
MappingException

bindCollection

public static void bindCollection(org.dom4j.Element node,
                                  Collection collection,
                                  String className,
                                  String path,
                                  Mappings mappings,
                                  Map inheritedMetas)
                           throws MappingException
Called for all collections

Throws:
MappingException

bindManyToOne

public static void bindManyToOne(org.dom4j.Element node,
                                 ManyToOne manyToOne,
                                 String path,
                                 boolean isNullable,
                                 Mappings mappings)
                          throws MappingException
Throws:
MappingException

bindAny

public static void bindAny(org.dom4j.Element node,
                           Any any,
                           boolean isNullable,
                           Mappings mappings)
                    throws MappingException
Throws:
MappingException

bindOneToOne

public static void bindOneToOne(org.dom4j.Element node,
                                OneToOne oneToOne,
                                String path,
                                boolean isNullable,
                                Mappings mappings)
                         throws MappingException
Throws:
MappingException

bindOneToMany

public static void bindOneToMany(org.dom4j.Element node,
                                 OneToMany oneToMany,
                                 Mappings mappings)
                          throws MappingException
Throws:
MappingException

bindColumn

public static void bindColumn(org.dom4j.Element node,
                              Column column,
                              boolean isNullable)

bindArray

public static void bindArray(org.dom4j.Element node,
                             Array array,
                             String prefix,
                             String path,
                             Mappings mappings,
                             Map inheritedMetas)
                      throws MappingException
Called for arrays and primitive arrays

Throws:
MappingException

bindComposite

public static void bindComposite(org.dom4j.Element node,
                                 Component component,
                                 String path,
                                 boolean isNullable,
                                 Mappings mappings,
                                 Map inheritedMetas)
                          throws MappingException
Throws:
MappingException

bindCompositeId

public static void bindCompositeId(org.dom4j.Element node,
                                   Component component,
                                   PersistentClass persistentClass,
                                   String propertyName,
                                   Mappings mappings,
                                   Map inheritedMetas)
                            throws MappingException
Throws:
MappingException

bindComponent

public static void bindComponent(org.dom4j.Element node,
                                 Component component,
                                 String ownerClassName,
                                 String parentProperty,
                                 String path,
                                 boolean isNullable,
                                 boolean isEmbedded,
                                 Mappings mappings,
                                 Map inheritedMetas,
                                 boolean isIdentifierMapper)
                          throws MappingException
Throws:
MappingException

getTypeFromXML

public static String getTypeFromXML(org.dom4j.Element node)
                             throws MappingException
Throws:
MappingException

createClassProperties

protected static void createClassProperties(org.dom4j.Element node,
                                            PersistentClass persistentClass,
                                            Mappings mappings,
                                            Map inheritedMetas)
                                     throws MappingException
Throws:
MappingException

createClassProperties

protected static void createClassProperties(org.dom4j.Element node,
                                            PersistentClass persistentClass,
                                            Mappings mappings,
                                            Map inheritedMetas,
                                            UniqueKey uniqueKey,
                                            boolean mutable,
                                            boolean nullable,
                                            boolean naturalId)
                                     throws MappingException
Throws:
MappingException

bindListSecondPass

public static void bindListSecondPass(org.dom4j.Element node,
                                      List list,
                                      Map classes,
                                      Mappings mappings,
                                      Map inheritedMetas)
                               throws MappingException
Called for Lists, arrays, primitive arrays

Throws:
MappingException

bindIdentifierCollectionSecondPass

public static void bindIdentifierCollectionSecondPass(org.dom4j.Element node,
                                                      IdentifierCollection collection,
                                                      Map persistentClasses,
                                                      Mappings mappings,
                                                      Map inheritedMetas)
                                               throws MappingException
Throws:
MappingException

bindMapSecondPass

public static void bindMapSecondPass(org.dom4j.Element node,
                                     Map map,
                                     Map classes,
                                     Mappings mappings,
                                     Map inheritedMetas)
                              throws MappingException
Called for Maps

Throws:
MappingException

bindCollectionSecondPass

public static void bindCollectionSecondPass(org.dom4j.Element node,
                                            Collection collection,
                                            Map persistentClasses,
                                            Mappings mappings,
                                            Map inheritedMetas)
                                     throws MappingException
Called for all collections

Throws:
MappingException

getFlushMode

public static final FlushMode getFlushMode(String flushMode)

getCacheMode

public static CacheMode getCacheMode(String cacheMode)

getParameterTypes

public static Map getParameterTypes(org.dom4j.Element queryElem)

getMetas

public static final Map getMetas(org.dom4j.Element node,
                                 Map inheritedMeta,
                                 boolean onlyInheritable)

getEntityName

public static String getEntityName(org.dom4j.Element elem,
                                   Mappings model)

getClassName

public static String getClassName(String unqualifiedName,
                                  Mappings model)

getClassName

public static String getClassName(String unqualifiedName,
                                  String defaultPackage)

getExtendsNeeded

public static List getExtendsNeeded(org.dom4j.Document doc,
                                    Mappings mappings)
For the given document, locate all extends attributes which refer to entities (entity-name or class-name) not defined within said document.

Parameters:
doc - The document to check
mappings - The already processed mappings.
Returns:
The list of unresolved extends names.