Class SubclassPropertyMapper
java.lang.Object
org.hibernate.envers.internal.entities.mapper.AbstractMapper
org.hibernate.envers.internal.entities.mapper.AbstractPropertyMapper
org.hibernate.envers.internal.entities.mapper.SubclassPropertyMapper
- All Implemented Interfaces:
CompositeMapperBuilder,DynamicComponentMapperSupport,ExtendedPropertyMapper,ModifiedFlagMapperSupport,PropertyMapper,SimpleMapperBuilder
public class SubclassPropertyMapper
extends AbstractPropertyMapper
implements ExtendedPropertyMapper
A mapper which maps from a parent mapper and a "main" one, but adds only to the "main". The "main" mapper
should be the mapper of the subclass.
-
Constructor Summary
ConstructorsConstructorDescriptionSubclassPropertyMapper(ExtendedPropertyMapper main, ExtendedPropertyMapper parentMapper) -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(PropertyData propertyData) addComponent(PropertyData propertyData, Class componentClass, EmbeddableInstantiator instantiator) voidaddComposite(PropertyData propertyData, PropertyMapper propertyMapper) booleanReturns whether the associatedPropertyMapperhas any properties that use thewitModifiedFlagfeature.booleanmap(SessionImplementor session, Map<String, Object> data, String[] propertyNames, Object[] newState, Object[] oldState) mapCollectionChanges(SessionImplementor session, String referencingPropertyName, PersistentCollection newColl, Serializable oldColl, Object id) Maps collection changes.voidmapModifiedFlagsToMapForCollectionChange(String collectionPropertyName, Map<String, Object> data) voidmapModifiedFlagsToMapFromEntity(SessionImplementor session, Map<String, Object> data, Object newObj, Object oldObj) voidmapToEntityFromMap(EnversService enversService, Object obj, Map data, Object primaryKey, AuditReaderImplementor versionsReader, Number revision) Maps properties from the given map to the given object.mapToEntityFromMap(EnversService enversService, Map data, Object primaryKey, AuditReaderImplementor versionsReader, Number revision) booleanmapToMapFromEntity(SessionImplementor session, Map<String, Object> data, Object newObj, Object oldObj) Maps properties to the given map, basing on differences between properties of new and old objects.Methods inherited from class org.hibernate.envers.internal.entities.mapper.AbstractPropertyMapper
isDynamicComponentMap, markAsDynamicComponentMapMethods inherited from class org.hibernate.envers.internal.entities.mapper.AbstractMapper
getAndSetValue, getValueFromObject, getValueFromObject, newObjectInstance, setValueOnObjectMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.hibernate.envers.internal.entities.mapper.DynamicComponentMapperSupport
isDynamicComponentMap, markAsDynamicComponentMap
-
Constructor Details
-
SubclassPropertyMapper
-
-
Method Details
-
map
public boolean map(SessionImplementor session, Map<String, Object> data, String[] propertyNames, Object[] newState, Object[] oldState) - Specified by:
mapin interfaceExtendedPropertyMapper
-
mapToMapFromEntity
public boolean mapToMapFromEntity(SessionImplementor session, Map<String, Object> data, Object newObj, Object oldObj) Description copied from interface:PropertyMapperMaps properties to the given map, basing on differences between properties of new and old objects.- Specified by:
mapToMapFromEntityin interfacePropertyMapper- Parameters:
session- The current session.data- Data to map to.newObj- New state of the entity.oldObj- Old state of the entity.- Returns:
- True if there are any differences between the states represented by newObj and oldObj.
-
mapModifiedFlagsToMapFromEntity
public void mapModifiedFlagsToMapFromEntity(SessionImplementor session, Map<String, Object> data, Object newObj, Object oldObj) - Specified by:
mapModifiedFlagsToMapFromEntityin interfacePropertyMapper
-
mapModifiedFlagsToMapForCollectionChange
public void mapModifiedFlagsToMapForCollectionChange(String collectionPropertyName, Map<String, Object> data) - Specified by:
mapModifiedFlagsToMapForCollectionChangein interfacePropertyMapper
-
mapToEntityFromMap
public void mapToEntityFromMap(EnversService enversService, Object obj, Map data, Object primaryKey, AuditReaderImplementor versionsReader, Number revision) Description copied from interface:PropertyMapperMaps properties from the given map to the given object.- Specified by:
mapToEntityFromMapin interfacePropertyMapper- Parameters:
enversService- The EnversService.obj- Object to map to.data- Data to map from.primaryKey- Primary key of the object to which we map (for relations)versionsReader- VersionsReader for reading relationsrevision- Revision at which the object is read, for reading relations
-
mapToEntityFromMap
public Object mapToEntityFromMap(EnversService enversService, Map data, Object primaryKey, AuditReaderImplementor versionsReader, Number revision) - Specified by:
mapToEntityFromMapin interfacePropertyMapper
-
mapCollectionChanges
public List<PersistentCollectionChangeData> mapCollectionChanges(SessionImplementor session, String referencingPropertyName, PersistentCollection newColl, Serializable oldColl, Object id) Description copied from interface:PropertyMapperMaps collection changes.- Specified by:
mapCollectionChangesin interfacePropertyMapper- Parameters:
session- The current session.referencingPropertyName- Name of the field, which holds the collection in the entity.newColl- New collection, after updates.oldColl- Old collection, before updates.id- Id of the object owning the collection.- Returns:
- List of changes that need to be performed on the persistent store.
-
addComponent
public CompositeMapperBuilder addComponent(PropertyData propertyData, Class componentClass, EmbeddableInstantiator instantiator) - Specified by:
addComponentin interfaceCompositeMapperBuilder
-
addComposite
- Specified by:
addCompositein interfaceCompositeMapperBuilder
-
add
- Specified by:
addin interfaceSimpleMapperBuilder
-
getProperties
- Specified by:
getPropertiesin interfaceCompositeMapperBuilder
-
hasPropertiesWithModifiedFlag
public boolean hasPropertiesWithModifiedFlag()Description copied from interface:ModifiedFlagMapperSupportReturns whether the associatedPropertyMapperhas any properties that use thewitModifiedFlagfeature.- Specified by:
hasPropertiesWithModifiedFlagin interfaceModifiedFlagMapperSupport- Returns:
trueif a property useswithModifiedFlag, otherwisefalse.
-