org.progeeks.hibernate
Class MetaObjectPersister

java.lang.Object
  extended by org.hibernate.persister.entity.AbstractEntityPersister
      extended by org.hibernate.persister.entity.SingleTableEntityPersister
          extended by org.progeeks.hibernate.MetaObjectPersister
All Implemented Interfaces:
org.hibernate.id.PostInsertIdentityPersister, org.hibernate.intercept.LazyPropertyInitializer, org.hibernate.metadata.ClassMetadata, org.hibernate.persister.entity.EntityPersister, org.hibernate.persister.entity.Joinable, org.hibernate.persister.entity.Loadable, org.hibernate.persister.entity.OuterJoinLoadable, org.hibernate.persister.entity.PropertyMapping, org.hibernate.persister.entity.Queryable, org.hibernate.persister.entity.SQLLoadable, org.hibernate.persister.entity.UniqueKeyLoadable

public class MetaObjectPersister
extends org.hibernate.persister.entity.SingleTableEntityPersister

Extention of the default org.hibernate.persister.EntityPersister interface to handle reading and writing of MetaObject correctly.

Version:
$Revision: 1.3 $
Author:
Matt Veitas

Field Summary
 
Fields inherited from class org.hibernate.persister.entity.AbstractEntityPersister
customSQLDelete, customSQLInsert, customSQLUpdate, deleteCallable, ENTITY_CLASS, insertCallable, propertyMapping, rowIdName, updateCallable
 
Fields inherited from interface org.hibernate.persister.entity.Loadable
ROWID_ALIAS
 
Fields inherited from interface org.hibernate.persister.entity.EntityPersister
ENTITY_ID
 
Fields inherited from interface org.hibernate.persister.entity.Loadable
ROWID_ALIAS
 
Fields inherited from interface org.hibernate.persister.entity.EntityPersister
ENTITY_ID
 
Fields inherited from interface org.hibernate.persister.entity.Loadable
ROWID_ALIAS
 
Fields inherited from interface org.hibernate.persister.entity.EntityPersister
ENTITY_ID
 
Fields inherited from interface org.hibernate.persister.entity.Loadable
ROWID_ALIAS
 
Fields inherited from interface org.hibernate.persister.entity.EntityPersister
ENTITY_ID
 
Fields inherited from interface org.hibernate.intercept.LazyPropertyInitializer
UNFETCHED_PROPERTY
 
Constructor Summary
MetaObjectPersister(org.hibernate.mapping.PersistentClass persistentClass, org.hibernate.cache.CacheConcurrencyStrategy cacheStrategy, org.hibernate.engine.SessionFactoryImplementor factory, org.hibernate.engine.Mapping mapping)
           
 
Method Summary
 void afterInitialize(java.lang.Object entity, boolean lazyPropertiesAreUnfetched, org.hibernate.engine.SessionImplementor session)
           
 java.lang.Object createProxy(java.io.Serializable id, org.hibernate.engine.SessionImplementor session)
           
 java.lang.Class getConcreteProxyClass(org.hibernate.EntityMode entityMode)
           
 java.io.Serializable getIdentifier(java.lang.Object object, org.hibernate.EntityMode entityMode)
          Overrides the default behavior if there is a composite key specified by the metaClass (two or more identity properties).
 java.lang.Object getPropertyValue(java.lang.Object object, java.lang.String propertyName, org.hibernate.EntityMode entityMode)
           
 java.lang.Object[] getPropertyValues(java.lang.Object object, org.hibernate.EntityMode entityMode)
           
 java.lang.Object[] getPropertyValuesToInsert(java.lang.Object object, java.util.Map mergeMap, org.hibernate.engine.SessionImplementor session)
           
 org.hibernate.persister.entity.EntityPersister getSubclassEntityPersister(java.lang.Object instance, org.hibernate.engine.SessionFactoryImplementor factory, org.hibernate.EntityMode entityMode)
           
protected  org.hibernate.tuple.EntityTuplizer getTuplizer(org.hibernate.EntityMode entityMode)
           
 java.lang.Object getVersion(java.lang.Object object, org.hibernate.EntityMode entityMode)
           
 boolean hasProxy()
           
 boolean hasUninitializedLazyProperties(java.lang.Object object, org.hibernate.EntityMode entityMode)
           
 boolean implementsLifecycle(org.hibernate.EntityMode entityMode)
           
 boolean implementsValidatable(org.hibernate.EntityMode entityMode)
           
 java.lang.Object instantiate(java.io.Serializable id, org.hibernate.EntityMode entityMode)
           
 boolean isInstance(java.lang.Object object, org.hibernate.EntityMode entityMode)
          Determines if the given object an instance of this metaClass.
 void setIdentifier(java.lang.Object object, java.io.Serializable id, org.hibernate.EntityMode entityMode)
           
 void setPropertyValues(java.lang.Object object, java.lang.Object[] values, org.hibernate.EntityMode entityMode)
           
 
Methods inherited from class org.hibernate.persister.entity.SingleTableEntityPersister
addDiscriminatorToInsert, addDiscriminatorToSelect, filterFragment, fromTableFragment, getConstraintOrderedTableNameClosure, getContraintOrderedTableKeyColumnClosure, getDiscriminatorAlias, getDiscriminatorColumnName, getDiscriminatorFormula, getDiscriminatorFormulaTemplate, getDiscriminatorSQLValue, getDiscriminatorType, getKeyColumns, getPropertySpaces, getPropertyTableName, getPropertyTableNumbers, getPropertyTableNumbersInSelect, getSequentialSelect, getSubclassClosure, getSubclassColumnTableNumberClosure, getSubclassForDiscriminatorValue, getSubclassFormulaTableNumberClosure, getSubclassPropertyTableName, getSubclassPropertyTableNumber, getSubclassTableKeyColumns, getSubclassTableName, getSubclassTableSpan, getTableName, getTableName, getTableSpan, hasSequentialSelect, isClassOrSuperclassTable, isDiscriminatorFormula, isInverseSubclassTable, isInverseTable, isMultiTable, isNullableSubclassTable, isNullableTable, isPropertyOfTable, isSubclassPropertyDeferred, isSubclassTableLazy, isSubclassTableSequentialSelect, isTableCascadeDeleteEnabled, oneToManyFilterFragment, postInstantiate
 
Methods inherited from class org.hibernate.persister.entity.AbstractEntityPersister
afterReassociate, check, concretePropertySelectFragment, consumesCollectionAlias, consumesEntityAlias, countSubclassProperties, createEntityLoader, createEntityLoader, createFrom, createJoin, createJoin, createQueryLoader, createSelect, createUniqueKeyLoaders, createWhereByKey, dehydrate, dehydrate, delete, delete, filterFragment, findDirty, findModified, fromJoinFragment, generateDeleteString, generateFilterConditionAlias, generateInsertGeneratedValuesSelectString, generateInsertString, generateInsertString, generateInsertString, generateLazySelectString, generateLockString, generateSelectVersionString, generateSnapshotSelectString, generateTableAlias, generateUpdateGeneratedValuesSelectString, generateUpdateString, generateUpdateString, getCache, getCacheEntryStructure, getCascadeStyle, getClassMetadata, getCurrentVersion, getDatabaseSnapshot, getDiscriminatorAlias, getEntityMetamodel, getEntityName, getEntityType, getFactory, getFetchMode, getIdentifierAliases, getIdentifierAliases, getIdentifierColumnNames, getIdentifierColumnSpan, getIdentifierGenerator, getIdentifierPropertyName, getIdentifierType, getIdentitySelectString, getKeyColumnNames, getLazyProperties, getMappedClass, getMappedSuperclass, getName, getNaturalIdentifierProperties, getNonLazyPropertyUpdateability, getPropertiesToInsert, getPropertiesToUpdate, getPropertyAliases, getPropertyCascadeStyles, getPropertyCheckability, getPropertyColumnNames, getPropertyColumnNames, getPropertyColumnSpan, getPropertyIndex, getPropertyInsertability, getPropertyInsertGeneration, getPropertyLaziness, getPropertyNames, getPropertyNullability, getPropertySpan, getPropertySubclassNames, getPropertyType, getPropertyTypes, getPropertyUpdateability, getPropertyUpdateability, getPropertyUpdateGeneration, getPropertyValue, getPropertyVersionability, getQuerySpaces, getRootEntityName, getRootTableKeyColumnNames, getSelectByUniqueKeyString, getSQLDeleteStrings, getSQLIdentityInsertString, getSQLInsertStrings, getSQLLazySelectString, getSQLLazyUpdateByRowIdStrings, getSQLLazyUpdateStrings, getSQLSnapshotSelectString, getSQLUpdateByRowIdStrings, getSQLUpdateStrings, getSQLWhereString, getSubclassColumnAliasClosure, getSubclassColumnClosure, getSubclassColumnLazyiness, getSubclassFormulaAliasClosure, getSubclassFormulaClosure, getSubclassFormulaLazyiness, getSubclassFormulaTemplateClosure, getSubclassPropertyColumnAliases, getSubclassPropertyColumnNameClosure, getSubclassPropertyColumnNames, getSubclassPropertyColumnNames, getSubclassPropertyFormulaTemplateClosure, getSubclassPropertyName, getSubclassPropertyNameClosure, getSubclassPropertySubclassNameClosure, getSubclassPropertyTableNumber, getSubclassPropertyType, getSubclassPropertyTypeClosure, getTableUpdateNeeded, getTemporaryIdTableDDL, getTemporaryIdTableName, getTuplizer, getType, getVersionColumnName, getVersionedTableName, getVersionProperty, getVersionSelectString, getVersionType, guessEntityMode, hasCache, hasCascades, hasCollections, hasEmbeddedCompositeIdentifier, hasFormulaProperties, hasIdentifierProperty, hasIdentifierPropertyOrEmbeddedCompositeIdentifier, hasInsertGeneratedProperties, hasLazyProperties, hasMutableProperties, hasNaturalIdentifier, hasRowId, hasSubclasses, hasSubselectLoadableCollections, hasUpdateGeneratedProperties, hasWhere, hydrate, identifierSelectFragment, initializeLazyProperty, initLockers, initPropertyPaths, initSubclassPropertyAliasesMap, insert, insert, insert, insert, isAbstract, isBatchable, isBatchLoadable, isCacheInvalidationRequired, isCollection, isDefinedOnSubclass, isDeleteCallable, isExplicitPolymorphism, isIdentifierAssignedByInsert, isInherited, isInsertCallable, isInstrumented, isLazyPropertiesCacheable, isMutable, isPolymorphic, isSelectBeforeUpdateRequired, isSubclassEntityName, isSubclassPropertyNullable, isTransient, isUpdateCallable, isVersioned, isVersionPropertyGenerated, isVersionPropertyInsertable, load, loadByUniqueKey, lock, logStaticSQL, optimisticLockMode, postConstruct, processInsertGeneratedProperties, processUpdateGeneratedProperties, propertySelectFragment, renderSelect, resetIdentifier, selectFragment, selectFragment, setPropertyValue, setPropertyValue, toColumns, toColumns, toColumns, toString, toType, update, update, updateOrInsert, useDynamicInsert, useDynamicUpdate, useGetGeneratedKeys, useInsertSelectIdentity, whereJoinFragment
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MetaObjectPersister

public MetaObjectPersister(org.hibernate.mapping.PersistentClass persistentClass,
                           org.hibernate.cache.CacheConcurrencyStrategy cacheStrategy,
                           org.hibernate.engine.SessionFactoryImplementor factory,
                           org.hibernate.engine.Mapping mapping)
Method Detail

getIdentifier

public java.io.Serializable getIdentifier(java.lang.Object object,
                                          org.hibernate.EntityMode entityMode)
                                   throws org.hibernate.HibernateException
Overrides the default behavior if there is a composite key specified by the metaClass (two or more identity properties).

Specified by:
getIdentifier in interface org.hibernate.metadata.ClassMetadata
Specified by:
getIdentifier in interface org.hibernate.persister.entity.EntityPersister
Overrides:
getIdentifier in class org.hibernate.persister.entity.AbstractEntityPersister
Throws:
org.hibernate.HibernateException

setIdentifier

public void setIdentifier(java.lang.Object object,
                          java.io.Serializable id,
                          org.hibernate.EntityMode entityMode)
                   throws org.hibernate.HibernateException
Specified by:
setIdentifier in interface org.hibernate.metadata.ClassMetadata
Specified by:
setIdentifier in interface org.hibernate.persister.entity.EntityPersister
Overrides:
setIdentifier in class org.hibernate.persister.entity.AbstractEntityPersister
Throws:
org.hibernate.HibernateException

getSubclassEntityPersister

public org.hibernate.persister.entity.EntityPersister getSubclassEntityPersister(java.lang.Object instance,
                                                                                 org.hibernate.engine.SessionFactoryImplementor factory,
                                                                                 org.hibernate.EntityMode entityMode)
Specified by:
getSubclassEntityPersister in interface org.hibernate.persister.entity.EntityPersister
Overrides:
getSubclassEntityPersister in class org.hibernate.persister.entity.AbstractEntityPersister

instantiate

public java.lang.Object instantiate(java.io.Serializable id,
                                    org.hibernate.EntityMode entityMode)
                             throws org.hibernate.HibernateException
Specified by:
instantiate in interface org.hibernate.metadata.ClassMetadata
Specified by:
instantiate in interface org.hibernate.persister.entity.EntityPersister
Overrides:
instantiate in class org.hibernate.persister.entity.AbstractEntityPersister
Throws:
org.hibernate.HibernateException

getPropertyValuesToInsert

public java.lang.Object[] getPropertyValuesToInsert(java.lang.Object object,
                                                    java.util.Map mergeMap,
                                                    org.hibernate.engine.SessionImplementor session)
                                             throws org.hibernate.HibernateException
Specified by:
getPropertyValuesToInsert in interface org.hibernate.metadata.ClassMetadata
Specified by:
getPropertyValuesToInsert in interface org.hibernate.persister.entity.EntityPersister
Overrides:
getPropertyValuesToInsert in class org.hibernate.persister.entity.AbstractEntityPersister
Throws:
org.hibernate.HibernateException

getPropertyValues

public java.lang.Object[] getPropertyValues(java.lang.Object object,
                                            org.hibernate.EntityMode entityMode)
                                     throws org.hibernate.HibernateException
Specified by:
getPropertyValues in interface org.hibernate.metadata.ClassMetadata
Specified by:
getPropertyValues in interface org.hibernate.persister.entity.EntityPersister
Overrides:
getPropertyValues in class org.hibernate.persister.entity.AbstractEntityPersister
Throws:
org.hibernate.HibernateException

getPropertyValue

public java.lang.Object getPropertyValue(java.lang.Object object,
                                         java.lang.String propertyName,
                                         org.hibernate.EntityMode entityMode)
                                  throws org.hibernate.HibernateException
Specified by:
getPropertyValue in interface org.hibernate.metadata.ClassMetadata
Specified by:
getPropertyValue in interface org.hibernate.persister.entity.EntityPersister
Overrides:
getPropertyValue in class org.hibernate.persister.entity.AbstractEntityPersister
Throws:
org.hibernate.HibernateException

setPropertyValues

public void setPropertyValues(java.lang.Object object,
                              java.lang.Object[] values,
                              org.hibernate.EntityMode entityMode)
                       throws org.hibernate.HibernateException
Specified by:
setPropertyValues in interface org.hibernate.metadata.ClassMetadata
Specified by:
setPropertyValues in interface org.hibernate.persister.entity.EntityPersister
Overrides:
setPropertyValues in class org.hibernate.persister.entity.AbstractEntityPersister
Throws:
org.hibernate.HibernateException

afterInitialize

public void afterInitialize(java.lang.Object entity,
                            boolean lazyPropertiesAreUnfetched,
                            org.hibernate.engine.SessionImplementor session)
Specified by:
afterInitialize in interface org.hibernate.persister.entity.EntityPersister
Overrides:
afterInitialize in class org.hibernate.persister.entity.AbstractEntityPersister

implementsLifecycle

public boolean implementsLifecycle(org.hibernate.EntityMode entityMode)
Specified by:
implementsLifecycle in interface org.hibernate.metadata.ClassMetadata
Specified by:
implementsLifecycle in interface org.hibernate.persister.entity.EntityPersister
Overrides:
implementsLifecycle in class org.hibernate.persister.entity.AbstractEntityPersister

implementsValidatable

public boolean implementsValidatable(org.hibernate.EntityMode entityMode)
Specified by:
implementsValidatable in interface org.hibernate.metadata.ClassMetadata
Specified by:
implementsValidatable in interface org.hibernate.persister.entity.EntityPersister
Overrides:
implementsValidatable in class org.hibernate.persister.entity.AbstractEntityPersister

getVersion

public java.lang.Object getVersion(java.lang.Object object,
                                   org.hibernate.EntityMode entityMode)
                            throws org.hibernate.HibernateException
Specified by:
getVersion in interface org.hibernate.metadata.ClassMetadata
Specified by:
getVersion in interface org.hibernate.persister.entity.EntityPersister
Overrides:
getVersion in class org.hibernate.persister.entity.AbstractEntityPersister
Throws:
org.hibernate.HibernateException

isInstance

public boolean isInstance(java.lang.Object object,
                          org.hibernate.EntityMode entityMode)
Determines if the given object an instance of this metaClass.

Specified by:
isInstance in interface org.hibernate.persister.entity.EntityPersister
Overrides:
isInstance in class org.hibernate.persister.entity.AbstractEntityPersister

hasProxy

public boolean hasProxy()
Specified by:
hasProxy in interface org.hibernate.metadata.ClassMetadata
Specified by:
hasProxy in interface org.hibernate.persister.entity.EntityPersister
Overrides:
hasProxy in class org.hibernate.persister.entity.AbstractEntityPersister

hasUninitializedLazyProperties

public boolean hasUninitializedLazyProperties(java.lang.Object object,
                                              org.hibernate.EntityMode entityMode)
Specified by:
hasUninitializedLazyProperties in interface org.hibernate.persister.entity.EntityPersister
Overrides:
hasUninitializedLazyProperties in class org.hibernate.persister.entity.AbstractEntityPersister

getConcreteProxyClass

public java.lang.Class getConcreteProxyClass(org.hibernate.EntityMode entityMode)
Specified by:
getConcreteProxyClass in interface org.hibernate.persister.entity.EntityPersister
Overrides:
getConcreteProxyClass in class org.hibernate.persister.entity.AbstractEntityPersister

createProxy

public java.lang.Object createProxy(java.io.Serializable id,
                                    org.hibernate.engine.SessionImplementor session)
                             throws org.hibernate.HibernateException
Specified by:
createProxy in interface org.hibernate.persister.entity.EntityPersister
Overrides:
createProxy in class org.hibernate.persister.entity.AbstractEntityPersister
Throws:
org.hibernate.HibernateException

getTuplizer

protected org.hibernate.tuple.EntityTuplizer getTuplizer(org.hibernate.EntityMode entityMode)
Overrides:
getTuplizer in class org.hibernate.persister.entity.AbstractEntityPersister


Copyright © 2002-2003 Paul Speed. All Rights Reserved.