anchor.diff:  
   == Fundamentals
   
  -The core functionality of Spring Content REST, enabled through `@Import(RestConfiguration.class)`, is to export resources for Spring Content stores.  This is usually closely related to Spring Data repositories.  Thus, the core artifacts to look at and potentially tweak to customize the way the exporting works are the repository and store interfaces.  
  -
  -=== Entity Association
  -
  -With Entity Association, as the name suggest, one Entity has one Resource associated with it.  Assume the following repository and store interfaces and Entity model:
  +The core functionality of Spring Content REST, enabled through `@Import(RestConfiguration.class)`, is to export resources
  +for Spring Content stores.  This is often closely related to Spring Data repositories.
  +
  +The following describes typical store scenarios and how they are exported with Spring Content REST.
  +
  +=== Resources
  +
  +Spring Resources, managed by a Spring Content Store, are standard Spring Resources that, when exported using Spring
  +Content REST, are accessible by REST endpoint.
  +
  +Consider the following Store interface:
  +
  +====
  +[source, java]
  +----
  +  public interface DvdStore extends Store<String> {}
  +----
  +====
  +
  +In this example, the Store's Resources are exported to the URI `/dvds`.  The path is derived from the
  +uncapitalized, pluralized, simple class name of the interface.  When interacting with this endpoint any additional path
  +is deemed to be the Resource's location and will be used to fetch the Resource using the Store's `getResource` method.
  +For example, a GET request to `/dvds/comedy/monty_pythons_flying_circus.mp4` assumes
  +`/comedy/monty_pythons_flying_circus.mp4` is the location of the Resource.
  +
  +The HTTP methods are then mapped onto the relevant Resource methods; GET maps to `getInputStream`, PUT maps onto
  +`getOutputStream` and so on.
  +
  +=== Entity Resources
  +
  +Entity Resources are associated with Spring Data Entities.
  +
  +Assume the following `Entity` class with associated `Repository` and `Store` interfaces:
     
   ====
   [source, java]
  
positive.code: 
  === Resource Discoverability
  
  A core principle of HATEOAS is that resources should be discoverable through the publication of links that point to the available resources.  There are a few competing de-facto standards of how to represent links in JSON.  By default, Spring Data REST uses HAL to render responses.  HAL defines links to be contained in a property of the returned document.
  
  Resource discovery starts at the top level of the application.  By issuing a request to the root URL under which the Spring Data REST application is deployed, the client can extract a set of links from the returned JSON object that represent the next level of resources that are available to the client.
  
  When enabled through `@Import(HypermediaConfiguration.class)` Spring Content REST will inject content resource and content collection resource links for both content and content collection associations into t	he HAL responses created by Spring Data REST. 
  
  == The Content Resource
  
  Spring Content REST exposes a content resource named after the uncapitalized, pluralized version of the domain class the exported store is handling.  The resource path can be customized using the `@StoreRestResource` on the store interface.
   
  === Supported HTTP Methods
  
  Content resources support `GET`, `PUT`, `POST`, and `DELETE`.  All other HTTP methods will cause a `405 Method Not Allowed`.
  
  ==== GET
  
  
negative.code: ----
  ====
    
  In this example a single Resource (the DVD video stream) is associated with a Dvd Entity by annotating additional fields
  on the Entity using the `@ContentId` and `@MimeType` annotations.   In this example Spring Data REST exports a collection
  resource at `/dvds`.  The path is derived from the uncapitalized, pluralized, simple class name of the domain class being
  managed.  `Dvd` in this case.  Item resources are also exported to the URI `/dvds/{id}`.  The HTTP methods used to
  request this endpoint map into the methods of  `CrudRepository`.
  
  Similarly, Spring Content REST also exports Entity Resources to the URI `/dvds/{id}`.  In this case the HTTP methods
  map onto the methods on `ContentStore` as follows:-
  
  - GET -> getContent
  - POST/PUT -> setContent
  - DELETE -> unsetContent
  
  === Property Resources
  
  Property Resources are associated with the properties of Spring Data Entities.  This allows many Resources to be
  associated with a single Entity.
  
  Consider the following `Entity` model with `Repository` and `Store` interfaces:
  
  ====
  [source, java]
  