anchor.diff:  [[content-repositories]]
   = Working with Spring Stores
   
  -The goal of the Spring Content is to make it easy to create applications that manage content such as documents, images and video by significantly reducing the amount of boilerplate code that the Developer must create for themselves.  The Developer just provides interfaces that declare the intent for content-related functionality.  Based on these and on class-path dependencies Spring Content is then able to inject storage-specific implementations.
  +The goal of the Spring Content is to make it easy to create applications that manage content such as documents, images
  +and video by significantly reducing the amount of boilerplate code that the Developer must create for themselves.  Instead,
  +the Developer provides interfaces only that declare the intent for the content-related functionality.  Based on these, and on
  +class-path dependencies, Spring Content is then able to inject storage-specific implementations.
   
   [IMPORTANT]
   ====
  
positive.code: ----
  ====
  
  This is also supported by Spring Content REST.
  
  Derived from the `Store` is a second interface `AssociativeStore` allowing Resources
  to be associated with Spring Data Entity objects.
  
  .AssociativeStore interface
  ====
  
negative.code: 
  * AfterUnsetContent
  
  ==== Writing an ApplicationListener
  
  If you wish to extend Spring Content's functionality you can subclass the abstract class `AbstractStoreEventListener` and
  override the methods that you are interested in.  When events occur Spring Content will call the appropriate methods on
  all instances of `AbstractStoreEventListener`.
  
  .AbstractContentRepositoryEventListener
  