org.hibernate.cfg.annotations
Class CollectionBinder

java.lang.Object
  extended by org.hibernate.cfg.annotations.CollectionBinder
Direct Known Subclasses:
BagBinder, ListBinder, MapBinder, SetBinder

public abstract class CollectionBinder
extends Object

Base class for binding different types of collections to Hibernate configuration objects.

Author:
inger, Emmanuel Bernard

Field Summary
protected  boolean cascadeDeleteEnabled
           
protected  Collection collection
           
protected  String hqlOrderBy
           
protected  IndexColumn indexColumn
           
protected  Map<org.hibernate.annotations.common.reflection.XClass,InheritanceState> inheritanceStatePerClass
           
protected  HashMap<String,IdGenerator> localGenerators
           
protected  String mapKeyPropertyName
           
protected  String propertyName
           
 
Constructor Summary
protected CollectionBinder()
           
protected CollectionBinder(boolean sorted)
           
 
Method Summary
 void bind()
           
static void bindManytoManyInverseFk(PersistentClass referencedEntity, Ejb3JoinColumn[] columns, SimpleValue value, boolean unique, Mappings mappings)
          bind the inverse FK of a ManyToMany If we are in a mappedBy case, read the columns from the associated colletion element Otherwise delegates to the usual algorithm
protected  void bindManyToManySecondPass(Collection collValue, Map persistentClasses, Ejb3JoinColumn[] joinColumns, Ejb3JoinColumn[] inverseJoinColumns, Ejb3Column[] elementColumns, boolean isEmbedded, org.hibernate.annotations.common.reflection.XClass collType, boolean ignoreNotFound, boolean unique, boolean cascadeDeleteEnabled, TableBinder associationTableBinder, org.hibernate.annotations.common.reflection.XProperty property, PropertyHolder parentPropertyHolder, String hqlOrderBy, Mappings mappings)
           
protected  void bindOneToManySecondPass(Collection collection, Map persistentClasses, Ejb3JoinColumn[] fkJoinColumns, org.hibernate.annotations.common.reflection.XClass collectionType, boolean cascadeDeleteEnabled, boolean ignoreNotFound, String hqlOrderBy, Mappings mappings, Map<org.hibernate.annotations.common.reflection.XClass,InheritanceState> inheritanceStatePerClass)
           
protected  boolean bindStarToManySecondPass(Map persistentClasses, org.hibernate.annotations.common.reflection.XClass collType, Ejb3JoinColumn[] fkJoinColumns, Ejb3JoinColumn[] keyColumns, Ejb3JoinColumn[] inverseColumns, Ejb3Column[] elementColumns, boolean isEmbedded, org.hibernate.annotations.common.reflection.XProperty property, boolean unique, TableBinder associationTableBinder, boolean ignoreNotFound, Mappings mappings)
          return true if it's a Fk, false if it's an association table
protected abstract  Collection createCollection(PersistentClass persistentClass)
           
 Collection getCollection()
           
static CollectionBinder getCollectionBinder(String entityName, org.hibernate.annotations.common.reflection.XProperty property, boolean isIndexed, boolean isHibernateExtensionMapping)
          collection binder factory
protected  Mappings getMappings()
           
 SecondPass getSecondPass(Ejb3JoinColumn[] fkJoinColumns, Ejb3JoinColumn[] keyColumns, Ejb3JoinColumn[] inverseColumns, Ejb3Column[] elementColumns, Ejb3Column[] mapKeyColumns, Ejb3JoinColumn[] mapKeyManyToManyColumns, boolean isEmbedded, org.hibernate.annotations.common.reflection.XProperty property, org.hibernate.annotations.common.reflection.XClass collType, boolean ignoreNotFound, boolean unique, TableBinder assocTableBinder, Mappings mappings)
           
protected  boolean isHibernateExtensionMapping()
           
 boolean isMap()
           
 void setAccessType(AccessType accessType)
           
 void setBatchSize(BatchSize batchSize)
           
 void setCache(Cache cacheAnn)
           
 void setCascadeDeleteEnabled(boolean onDeleteCascade)
           
 void setCascadeStrategy(String cascadeStrategy)
           
 void setCollectionType(org.hibernate.annotations.common.reflection.XClass collectionType)
           
 void setDeclaringClass(org.hibernate.annotations.common.reflection.XClass declaringClass)
           
 void setEjb3OrderBy(OrderBy orderByAnn)
           
 void setElementColumns(Ejb3Column[] elementColumns)
           
 void setEmbedded(boolean annotationPresent)
           
 void setExplicitAssociationTable(boolean explicitAssocTable)
           
 void setFkJoinColumns(Ejb3JoinColumn[] ejb3JoinColumns)
           
 void setIgnoreNotFound(boolean ignoreNotFound)
           
 void setIndexColumn(IndexColumn indexColumn)
           
 void setInheritanceStatePerClass(Map<org.hibernate.annotations.common.reflection.XClass,InheritanceState> inheritanceStatePerClass)
           
 void setInsertable(boolean insertable)
           
 void setInverseJoinColumns(Ejb3JoinColumn[] inverseJoinColumns)
           
 void setIsHibernateExtensionMapping(boolean hibernateExtensionMapping)
           
 void setJoinColumns(Ejb3JoinColumn[] joinColumns)
           
 void setLocalGenerators(HashMap<String,IdGenerator> localGenerators)
           
 void setMapKey(MapKey key)
           
 void setMapKeyColumns(Ejb3Column[] mapKeyColumns)
           
 void setMapKeyManyToManyColumns(Ejb3JoinColumn[] mapJoinColumns)
           
 void setMappedBy(String mappedBy)
           
 void setMappings(Mappings mappings)
           
 void setOneToMany(boolean oneToMany)
           
 void setProperty(org.hibernate.annotations.common.reflection.XProperty property)
           
 void setPropertyHolder(PropertyHolder propertyHolder)
           
 void setPropertyName(String propertyName)
           
 void setSort(Sort sortAnn)
           
 void setSqlOrderBy(OrderBy orderByAnn)
           
 void setTableBinder(TableBinder tableBinder)
           
 void setTargetEntity(org.hibernate.annotations.common.reflection.XClass targetEntity)
           
 void setUpdatable(boolean updatable)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

collection

protected Collection collection

propertyName

protected String propertyName

indexColumn

protected IndexColumn indexColumn

hqlOrderBy

protected String hqlOrderBy

cascadeDeleteEnabled

protected boolean cascadeDeleteEnabled

mapKeyPropertyName

protected String mapKeyPropertyName

localGenerators

protected HashMap<String,IdGenerator> localGenerators

inheritanceStatePerClass

protected Map<org.hibernate.annotations.common.reflection.XClass,InheritanceState> inheritanceStatePerClass
Constructor Detail

CollectionBinder

protected CollectionBinder()

CollectionBinder

protected CollectionBinder(boolean sorted)
Method Detail

getMappings

protected Mappings getMappings()

isMap

public boolean isMap()

setIsHibernateExtensionMapping

public void setIsHibernateExtensionMapping(boolean hibernateExtensionMapping)

isHibernateExtensionMapping

protected boolean isHibernateExtensionMapping()

setUpdatable

public void setUpdatable(boolean updatable)

setInheritanceStatePerClass

public void setInheritanceStatePerClass(Map<org.hibernate.annotations.common.reflection.XClass,InheritanceState> inheritanceStatePerClass)

setInsertable

public void setInsertable(boolean insertable)

setCascadeStrategy

public void setCascadeStrategy(String cascadeStrategy)

setAccessType

public void setAccessType(AccessType accessType)

setInverseJoinColumns

public void setInverseJoinColumns(Ejb3JoinColumn[] inverseJoinColumns)

setJoinColumns

public void setJoinColumns(Ejb3JoinColumn[] joinColumns)

setPropertyHolder

public void setPropertyHolder(PropertyHolder propertyHolder)

setBatchSize

public void setBatchSize(BatchSize batchSize)

setEjb3OrderBy

public void setEjb3OrderBy(OrderBy orderByAnn)

setSqlOrderBy

public void setSqlOrderBy(OrderBy orderByAnn)

setSort

public void setSort(Sort sortAnn)

getCollectionBinder

public static CollectionBinder getCollectionBinder(String entityName,
                                                   org.hibernate.annotations.common.reflection.XProperty property,
                                                   boolean isIndexed,
                                                   boolean isHibernateExtensionMapping)
collection binder factory


setMappedBy

public void setMappedBy(String mappedBy)

setTableBinder

public void setTableBinder(TableBinder tableBinder)

setCollectionType

public void setCollectionType(org.hibernate.annotations.common.reflection.XClass collectionType)

setTargetEntity

public void setTargetEntity(org.hibernate.annotations.common.reflection.XClass targetEntity)

setMappings

public void setMappings(Mappings mappings)

createCollection

protected abstract Collection createCollection(PersistentClass persistentClass)

getCollection

public Collection getCollection()

setPropertyName

public void setPropertyName(String propertyName)

setDeclaringClass

public void setDeclaringClass(org.hibernate.annotations.common.reflection.XClass declaringClass)

bind

public void bind()

getSecondPass

public SecondPass getSecondPass(Ejb3JoinColumn[] fkJoinColumns,
                                Ejb3JoinColumn[] keyColumns,
                                Ejb3JoinColumn[] inverseColumns,
                                Ejb3Column[] elementColumns,
                                Ejb3Column[] mapKeyColumns,
                                Ejb3JoinColumn[] mapKeyManyToManyColumns,
                                boolean isEmbedded,
                                org.hibernate.annotations.common.reflection.XProperty property,
                                org.hibernate.annotations.common.reflection.XClass collType,
                                boolean ignoreNotFound,
                                boolean unique,
                                TableBinder assocTableBinder,
                                Mappings mappings)

bindStarToManySecondPass

protected boolean bindStarToManySecondPass(Map persistentClasses,
                                           org.hibernate.annotations.common.reflection.XClass collType,
                                           Ejb3JoinColumn[] fkJoinColumns,
                                           Ejb3JoinColumn[] keyColumns,
                                           Ejb3JoinColumn[] inverseColumns,
                                           Ejb3Column[] elementColumns,
                                           boolean isEmbedded,
                                           org.hibernate.annotations.common.reflection.XProperty property,
                                           boolean unique,
                                           TableBinder associationTableBinder,
                                           boolean ignoreNotFound,
                                           Mappings mappings)
return true if it's a Fk, false if it's an association table


bindOneToManySecondPass

protected void bindOneToManySecondPass(Collection collection,
                                       Map persistentClasses,
                                       Ejb3JoinColumn[] fkJoinColumns,
                                       org.hibernate.annotations.common.reflection.XClass collectionType,
                                       boolean cascadeDeleteEnabled,
                                       boolean ignoreNotFound,
                                       String hqlOrderBy,
                                       Mappings mappings,
                                       Map<org.hibernate.annotations.common.reflection.XClass,InheritanceState> inheritanceStatePerClass)

setCache

public void setCache(Cache cacheAnn)

setOneToMany

public void setOneToMany(boolean oneToMany)

setIndexColumn

public void setIndexColumn(IndexColumn indexColumn)

setMapKey

public void setMapKey(MapKey key)

bindManyToManySecondPass

protected void bindManyToManySecondPass(Collection collValue,
                                        Map persistentClasses,
                                        Ejb3JoinColumn[] joinColumns,
                                        Ejb3JoinColumn[] inverseJoinColumns,
                                        Ejb3Column[] elementColumns,
                                        boolean isEmbedded,
                                        org.hibernate.annotations.common.reflection.XClass collType,
                                        boolean ignoreNotFound,
                                        boolean unique,
                                        boolean cascadeDeleteEnabled,
                                        TableBinder associationTableBinder,
                                        org.hibernate.annotations.common.reflection.XProperty property,
                                        PropertyHolder parentPropertyHolder,
                                        String hqlOrderBy,
                                        Mappings mappings)
                                 throws MappingException
Throws:
MappingException

setCascadeDeleteEnabled

public void setCascadeDeleteEnabled(boolean onDeleteCascade)

bindManytoManyInverseFk

public static void bindManytoManyInverseFk(PersistentClass referencedEntity,
                                           Ejb3JoinColumn[] columns,
                                           SimpleValue value,
                                           boolean unique,
                                           Mappings mappings)
bind the inverse FK of a ManyToMany If we are in a mappedBy case, read the columns from the associated colletion element Otherwise delegates to the usual algorithm


setFkJoinColumns

public void setFkJoinColumns(Ejb3JoinColumn[] ejb3JoinColumns)

setExplicitAssociationTable

public void setExplicitAssociationTable(boolean explicitAssocTable)

setElementColumns

public void setElementColumns(Ejb3Column[] elementColumns)

setEmbedded

public void setEmbedded(boolean annotationPresent)

setProperty

public void setProperty(org.hibernate.annotations.common.reflection.XProperty property)

setIgnoreNotFound

public void setIgnoreNotFound(boolean ignoreNotFound)

setMapKeyColumns

public void setMapKeyColumns(Ejb3Column[] mapKeyColumns)

setMapKeyManyToManyColumns

public void setMapKeyManyToManyColumns(Ejb3JoinColumn[] mapJoinColumns)

setLocalGenerators

public void setLocalGenerators(HashMap<String,IdGenerator> localGenerators)


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