Class AbstractMappingContext<E extends MutablePersistentEntity<?,P>,P extends PersistentProperty<P>>

java.lang.Object
org.springframework.data.mapping.context.AbstractMappingContext<E,P>
Type Parameters:
E - the concrete PersistentEntity type the MappingContext implementation creates
P - the concrete PersistentProperty type the MappingContext implementation creates
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.InitializingBean, org.springframework.context.ApplicationContextAware, org.springframework.context.ApplicationEventPublisherAware, MappingContext<E,P>

public abstract class AbstractMappingContext<E extends MutablePersistentEntity<?,P>,P extends PersistentProperty<P>> extends Object implements MappingContext<E,P>, org.springframework.context.ApplicationEventPublisherAware, org.springframework.context.ApplicationContextAware, org.springframework.beans.factory.InitializingBean
Base class to build mapping metadata and thus create instances of PersistentEntity and PersistentProperty.

The implementation uses a ReentrantReadWriteLock to make sure PersistentEntity are completely populated before accessing them from outside.

Author:
Jon Brisbin, Oliver Gierke, Michael Hunger, Thomas Darimont, Tomasz Wysocki, Mark Paluch, Mikael Klamra, Christoph Strobl