## org.hibernate.envers.entities.mapper.relation
Class AbstractCollectionMapper<T>

    java.lang.Object
      org.hibernate.envers.entities.mapper.relation.AbstractCollectionMapper<T>

All Implemented Interfaces:
  PropertyMapper

Direct Known Subclasses:
  BasicCollectionMapper, ListCollectionMapper, MapCollectionMapper

    public abstract class AbstractCollectionMapper<T>

extends Object
implements PropertyMapper

Author:
  Adam Warski (adam at warski dot org)

Field Summary
`protected Class<? extends T>` `collectionClass`
`protected CommonCollectionMapperData` `commonCollectionMapperData`

Constructor Summary
`protected` `AbstractCollectionMapper(CommonCollectionMapperData commonCollectionMapperData, Class<? extends T> collectionClass, Class<? extends T> proxyClass)`

Method Summary
`protected abstract Initializor<T>` `getInitializor(AuditConfiguration verCfg, AuditReaderImplementor versionsReader, Object primaryKey, Number revision)`
`protected abstract Collection` `getNewCollectionContent(PersistentCollection newCollection)`
`protected abstract Collection` `getOldCollectionContent(Serializable oldCollection)`
`List<PersistentCollectionChangeData>` `mapCollectionChanges(String referencingPropertyName, PersistentCollection newColl, Serializable oldColl, Serializable id)` Maps collection changes
`void` `mapToEntityFromMap(AuditConfiguration verCfg, Object obj, Map data, Object primaryKey, AuditReaderImplementor versionsReader, Number revision)` Maps properties from the given map to the given object.
`boolean` `mapToMapFromEntity(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.
`protected abstract void` `mapToMapFromObject(Map<String,Object> data, Object changed)` Maps the changed collection element to the given map.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### commonCollectionMapperData

    protected final CommonCollectionMapperData commonCollectionMapperData

### collectionClass

    protected final Class<? extends T> collectionClass

Constructor Detail

### AbstractCollectionMapper

    protected AbstractCollectionMapper(CommonCollectionMapperData commonCollectionMapperData,
                                       Class<? extends T> collectionClass,
                                       Class<? extends T> proxyClass)

Method Detail

### getNewCollectionContent

    protected abstract Collection getNewCollectionContent(PersistentCollection newCollection)

### getOldCollectionContent

    protected abstract Collection getOldCollectionContent(Serializable oldCollection)

### mapToMapFromObject

    protected abstract void mapToMapFromObject(Map<String,Object> data,
                                               Object changed)

  Maps the changed collection element to the given map.

  Parameters:
    `data` - Where to map the data.
    `changed` - The changed collection element to map.

### mapCollectionChanges

    public List<PersistentCollectionChangeData> mapCollectionChanges(String referencingPropertyName,
                                                                     PersistentCollection newColl,
                                                                     Serializable oldColl,
                                                                     Serializable id)

  Description copied from interface: `PropertyMapper`
  Maps collection changes

  Specified by:
    `mapCollectionChanges` in interface `PropertyMapper`
  Parameters:
    `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.

### mapToMapFromEntity

    public boolean mapToMapFromEntity(SessionImplementor session,
                                      Map<String,Object> data,
                                      Object newObj,
                                      Object oldObj)

  Description copied from interface: `PropertyMapper`
  Maps properties to the given map, basing on differences between properties of new and old objects.

  Specified by:
    `mapToMapFromEntity` in interface `PropertyMapper`
  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.

### getInitializor

    protected abstract Initializor<T> getInitializor(AuditConfiguration verCfg,
                                                     AuditReaderImplementor versionsReader,
                                                     Object primaryKey,
                                                     Number revision)

### mapToEntityFromMap

    public void mapToEntityFromMap(AuditConfiguration verCfg,
                                   Object obj,
                                   Map data,
                                   Object primaryKey,
                                   AuditReaderImplementor versionsReader,
                                   Number revision)

  Description copied from interface: `PropertyMapper`
  Maps properties from the given map to the given object.

  Specified by:
    `mapToEntityFromMap` in interface `PropertyMapper`
  Parameters:
    `verCfg` - Versions configuration.
    `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 relations
    `revision` - Revision at which the object is read, for reading relations

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