Methods Summary |
---|
final org.hibernate.event.EventSource | getSession()
return session;
|
boolean | includeEntityProperty(java.lang.Object[] values, int i)
return includeProperty(values, i);
|
boolean | includeProperty(java.lang.Object[] values, int i)
return values[i]!=LazyPropertyInitializer.UNFETCHED_PROPERTY;
|
void | process(java.lang.Object object, org.hibernate.persister.entity.EntityPersister persister)Walk the tree starting from the given entity.
processEntityPropertyValues(
persister.getPropertyValues( object, getSession().getEntityMode() ),
persister.getPropertyTypes()
);
|
java.lang.Object | processCollection(java.lang.Object collection, org.hibernate.type.CollectionType type)Visit a collection. Default superclass
implementation is a no-op.
return null;
|
java.lang.Object | processComponent(java.lang.Object component, org.hibernate.type.AbstractComponentType componentType)Visit a component. Dispatch each property
to processValue().
if (component!=null) {
processValues(
componentType.getPropertyValues(component, session),
componentType.getSubtypes()
);
}
return null;
|
java.lang.Object | processEntity(java.lang.Object value, org.hibernate.type.EntityType entityType)Visit a many-to-one or one-to-one associated
entity. Default superclass implementation is
a no-op.
return null;
|
public void | processEntityPropertyValues(java.lang.Object[] values, org.hibernate.type.Type[] types)Dispatch each property value to processValue().
for ( int i=0; i<types.length; i++ ) {
if ( includeEntityProperty(values, i) ) {
processValue( i, values, types );
}
}
|
void | processValue(int i, java.lang.Object[] values, org.hibernate.type.Type[] types)
processValue( values[i], types[i] );
|
final java.lang.Object | processValue(java.lang.Object value, org.hibernate.type.Type type)Visit a property value. Dispatch to the
correct handler for the property type.
if ( type.isCollectionType() ) {
//even process null collections
return processCollection( value, (CollectionType) type );
}
else if ( type.isEntityType() ) {
return processEntity( value, (EntityType) type );
}
else if ( type.isComponentType() ) {
return processComponent( value, (AbstractComponentType) type );
}
else {
return null;
}
|
void | processValues(java.lang.Object[] values, org.hibernate.type.Type[] types)Dispatch each property value to processValue().
for ( int i=0; i<types.length; i++ ) {
if ( includeProperty(values, i) ) {
processValue( i, values, types );
}
}
|